create PROCEDURE USP_GetDetail(@ObjectName nvarchar(50))
as
Begin
declare @type varchar(10)
select @type=[type] from sys.objects with(nolock) where name=@ObjectName
case @type
WHEN 'U' THEN
exec('select count(1) as 总行数 from ' + @ObjectName + ' with(nolock)')
exec('select top 100 * from ' + @ObjectName + ' with(nolock)')
WHEN 'P' THEN
exec('sp_helptext '+ @ObjectName)
WHEN 'FN' THEN
exec('sp_helptext '+ @ObjectName)
else
select '不明对象,不能取出对应信息.' as ErrorMessage
End
End
as
Begin
declare @type varchar(10)
select @type=[type] from sys.objects with(nolock) where name=@ObjectName
case @type
WHEN 'U' THEN
exec('select count(1) as 总行数 from ' + @ObjectName + ' with(nolock)')
exec('select top 100 * from ' + @ObjectName + ' with(nolock)')
WHEN 'P' THEN
exec('sp_helptext '+ @ObjectName)
WHEN 'FN' THEN
exec('sp_helptext '+ @ObjectName)
else
select '不明对象,不能取出对应信息.' as ErrorMessage
End
End
提示错误如下:
正确写法如下:
看看你知道问题错在哪里没有
create PROCEDURE USP_GetDetail(@ObjectName nvarchar(50))
as
Begin
declare @type varchar(10)
select @type=[type] from sys.objects with(nolock) where name=@ObjectName
declare @str nvarchar(100)
select @str = case @type
WHEN 'U' THEN
'select count(1) as 总行数 from ' + @ObjectName + ' with(nolock)' + ' '
+ 'select top 100 * from ' + @ObjectName + ' with(nolock)'
WHEN 'P' THEN
'sp_helptext '+ @ObjectName
WHEN 'FN' THEN
'sp_helptext '+ @ObjectName
else
'select '+ '''不明对象,不能取出对应信息.''' + ' as ErrorMessage'
End
exec(@str)
End
as
Begin
declare @type varchar(10)
select @type=[type] from sys.objects with(nolock) where name=@ObjectName
declare @str nvarchar(100)
select @str = case @type
WHEN 'U' THEN
'select count(1) as 总行数 from ' + @ObjectName + ' with(nolock)' + ' '
+ 'select top 100 * from ' + @ObjectName + ' with(nolock)'
WHEN 'P' THEN
'sp_helptext '+ @ObjectName
WHEN 'FN' THEN
'sp_helptext '+ @ObjectName
else
'select '+ '''不明对象,不能取出对应信息.''' + ' as ErrorMessage'
End
exec(@str)
End