--变量声明
DECLARE @TMG DATETIME
DECLARE @STR NVARCHAR(500) --记住必须定义为NVARCHAR,否则会报错‘SQL存储过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'’
DECLARE @ZD VARCHAR(20)
--主体部分
BEGIN
SET @ZD = 'XXX';
--拼装sql语句
SET @STR = 'SELECT @TMGOUT = T.TM FROM (SELECT R.TM,ROW_NUMBER() OVER (ORDER BY R.TM DESC)RN FROM DSE_BZ_RUNSTATE_R R WHERE R.STCD = ' +@STCDS + ' AND R.' + @ZD + ' = ''0'' ) T WHERE T.RN = 1 ;';
--执行sql语句
exec sp_executesql @STR,N'@TMGOUT DATETIME output',@TMG output;
--使用@TMG变量
SELECT * FROM XXX T WHERE T.XX>@TMG;
END
DECLARE @TMG DATETIME
DECLARE @STR NVARCHAR(500) --记住必须定义为NVARCHAR,否则会报错‘SQL存储过程需要类型为 'ntext/nchar/nvarchar' 的参数 '@statement'’
DECLARE @ZD VARCHAR(20)
--主体部分
BEGIN
SET @ZD = 'XXX';
--拼装sql语句
SET @STR = 'SELECT @TMGOUT = T.TM FROM (SELECT R.TM,ROW_NUMBER() OVER (ORDER BY R.TM DESC)RN FROM DSE_BZ_RUNSTATE_R R WHERE R.STCD = ' +@STCDS + ' AND R.' + @ZD + ' = ''0'' ) T WHERE T.RN = 1 ;';
--执行sql语句
exec sp_executesql @STR,N'@TMGOUT DATETIME output',@TMG output;
--使用@TMG变量
SELECT * FROM XXX T WHERE T.XX>@TMG;
END