动态存储过程sql相关问题
CREATE PROCEDURE SP_PDeal
AS
declare @sql1 varchar(500)
declare @sql2 varchar(500)
declare @count1 int
set @sql1= 'select ' '@count1 ' '=count(*) from a '
set nocount on
begin
EXEC(@sql1)
if @count1> 0
begin
set @sql2= 'update a set b= ' 'c ' ' where UniqueID=2 '
exec(@sql2)
end
end
GO
------解决方案--------------------CREATE PROCEDURE SP_PDeal
AS
declare @sql1 nvarchar(500)
declare @sql2 nvarchar(500)
declare @count1 int
set @sql1= 'select @count1=count(*) from a '
set nocount on
begin
EXEC sp_executesql @sql1, N '@count1 int output ', @count1 output
if @count1> 0
begin
set @sql2= 'update a set b= ' 'c ' ' where UniqueID=2 '
exec(@sql2)
end
end
GO