首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

诸位大神求教 PLS-00103

2012-09-17 
各位大神求教 PLS-00103CREATE OR REPLACE PROCEDURE UP_GetHBBZByPage@tblNamevarchar(255),@fldNamevarc

各位大神求教 PLS-00103
CREATE OR REPLACE PROCEDURE UP_GetHBBZByPage
  @tblName varchar(255),
  @fldName varchar(255), -- 排序字段名
  @PageSize int = 10, -- 页尺寸
  @PageIndex int = 1, -- 页码
  @IsReCount bit = 0, -- 返回记录总数, 非 0 值则返回
  @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
  @strWhere varchar(1000) = '1=1' -- 查询条件 (注意: 不要加 where)
  AS
  declare @begin int ,@end int,@sql varchar(4000),@order varchar(5)
  set @begin=@PageSize* (@PageIndex-1) +1
  set @end=@begin+@PageSize-1
  set @order=''
  if(@OrderType=1)
  set @order=' desc'
  set @sql='
  select * from
  (
  select ROW_NUMBER() over(order by ' + @fldName + @order +' ) as od,
  * from '+@tblName +' where ' + @strWhere + ') as tbl where od between ' + rtrim(ltrim(str(@begin)))+' and ' + rtrim(ltrim(str(@end)))
  exec (@sql)
  if(@IsReCount=1)
  exec('select count(*) from '+ @tblName+' where ' +@strWhere)



错误 是 第二行

  @tblName varchar(255),

  错误:PLS-00103: 出现符号 "@"在需要下列之一时:符号IS 在 @之前插入 是什么意思求解答




[解决办法]
发错版块了,转到SQLSERVER版块吧
[解决办法]
这是sqlserver的存储过程 在Oracle里不能编译执行的 需要根据逻辑重新编写

热点排行