62,271
社区成员
发帖
与我相关
我的任务
分享DECLARE
@ID_ex BIGINT --声明输入参数1
,@Str_ex NVARCHAR(50) --声明输入参数2
,@SqlStr NVARCHAR(4000) --声明字符串:用以提交参数化的Sql语句
,@Param_Def NVARCHAR(4000); --声明字符串:用以定义动态Sql的参数列表
SET @ID_ex = 0; --初始化,模拟输入
SET @Str_ex = N'aaa'; --初始化,模拟输入
SET @SqlStr = N'SELECT * FROM App WHERE AppId >= @ID OR @SearchStr=''aaa'' ';
SET @Param_Def = N'@ID BIGINT,@SearchStr NVARCHAR(50)';
EXEC sp_executesql
@SqlStr --提交参数化的Sql语句
,@Param_Def --参数定义
,@ID=@ID_ex --参数替换1
,@SearchStr=@Str_ex; --参数替换2
DECLARE @SecondId NVARCHAR(20)
DECLARE @pagesize NVARCHAR(20)
DECLARE @pageindex NVARCHAR(20)
DECLARE @orderBy NVARCHAR(4000)
SET @SecondId='1'
SET @pagesize='1'
SET @pageindex='1'
SET @orderBy='A'
DECLARE @SQL NVARCHAR(4000)
SET @SQL=' with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY '+@orderBy+')AS Row, * from Products O where secondid='+@SecondId+')
SELECT * FROM temptbl where Row between ('+@pageindex+'-1)*'+@pagesize+'+1 and ('+@pageindex+'-1)*'+@pagesize+'+'+@pagesize+'
'
PRINT @SQL
exec(@SQL)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER procedure [dbo].[GetProductsPageByPrice]
(@SecondId Int,
@pagesize int,
@pageindex int)
as
begin
with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY shoujia)AS Row, * from Products O where secondid=@secondid)
SELECT * FROM temptbl where Row between (@pageindex-1)*@pagesize+1 and (@pageindex-1)*@pagesize+@pagesize
end
CREATE PROCEDURE aaaaaaaaaaaaaaaa
@SQL varchar(4000),
@Order varchar(1000)
AS
BEGIN
set @SQL = @SQL + ' order by '+@Order
execute(@SQL)
END
DECLARE @SQL NVARCHAR(4000)
SET @SQL='SELECT * from table order by ''+@XXX+'''