Alter PROCEDURE dbo.Test
@seltab varchar(500)AS
begin
declare @count int
declare @sql nvarchar(1000)
set @sql = N'select @count = count(*) from '+@seltab
exec sp_executesql @sql,N'@count int Output',@count Output
if @count>0
print 'exists'
else
print 'no'
end
RETURN
@seltab varchar(500)AS
begin
declare @count int
declare @sql nvarchar(1000)
set @sql = N'select @count = count(*) from '+@seltab
exec sp_executesql @sql,N'@count int Output',@count Output
if @count>0
print 'exists'
else
print 'no'
end
RETURN
@seltab varchar(500)AS
begin
declare @count int
declare @sql nvarchar(1000)
set @sql = N'select @count = count(*) from '+@seltab
exec sp_executesql @sql,N'@count int Output',@count Output --都加上Output
if @count>0
print 'exists'
else
print 'no'
end
RETURN
===================>
exec sp_executesql @sql,N'@count int output',@count output
@seltab varchar(500)
AS
begin
declare @count int
set @count=0
declare @sql nvarchar(1000)
set @sql = N'select @count = count(*) from '+@seltab
exec sp_executesql @sql,N'@count int output',@count output
if @count>0
print 'exists'
else
print 'no'
end
RETURN
@seltab varchar(500)AS
begin
declare @count int
declare @sql nvarchar(1000)
set @sql = N'select @count = count(*) from '+@seltab
exec sp_executesql @sql,N'@count int out',@count out
if @count>0
print 'exists'
else
print 'no'
end
RETURN
@seltab varchar(500)AS
begin
if Exists(Select 1 from SysColumns Where ID=OBJECT_ID(@seltab))
print 'exists'
else
print 'no'
end
RETURN
问题解决了,马上结帖。
唉,原来这么简单。