实在搞不明白了,我写的语句如下:CREATE PROCEDURE test
@参数A ,
@参数B
AS
DECLARE @sqltext char(1000)SET @sqltext = N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + N' WHERE TABLE_1.A = ' + @参数A ----这里得到的sqltext值还是N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + N' AND TABLE_1.A = ' + @参数B ----这里也一样.我该怎么写呢?EXEC (@sqltext) 就是简单的sql语句拼接,可就是不正确!
@参数A ,
@参数B
AS
DECLARE @sqltext char(1000)SET @sqltext = N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + N' WHERE TABLE_1.A = ' + @参数A ----这里得到的sqltext值还是N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + N' AND TABLE_1.A = ' + @参数B ----这里也一样.我该怎么写呢?EXEC (@sqltext) 就是简单的sql语句拼接,可就是不正确!
-->
DECLARE @sqltext Nvarchar(1000)
不要问原因
@paraA varchar(200),
@paraB varchar(200)
AS
DECLARE @sqltext varchar(1000) --将Char换做VarcharSET @sqltext = N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + N' WHERE TABLE_1.A = ' + @paraA ----这里得到的sqltext值还是N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + N' AND TABLE_1.A = ' + @paraB ----这里也一样.我该怎么写呢?EXEC (@sqltext)
@参数A varchar(80),
@参数B varchar(80)
AS
DECLARE @sqltext varchar(8000)SET @sqltext = 'SELECT * FROM TABLE_1'--省去相关判断语句
SET @sqltext = @sqltext + ' WHERE TABLE_1.A = ''' + @参数A+'''' ----这里得到的sqltext值还是N'SELECT * FROM TABLE_1'
--省去相关判断语句
SET @sqltext = @sqltext + ' AND TABLE_1.A = ''' + @参数B+'''' ----这里也一样.我该怎么写呢?EXEC (@sqltext)
go
http://community.csdn.net/Expert/topic/5145/5145687.xml?temp=.7000238