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里不能编译执行的 需要根据逻辑重新编写