日期:2014-05-19  浏览次数:20452 次

在Master创建存储过程出错
我想创建一个存储过程,不管在哪个数据库都能使用。就好像sp_lock
环境:SQL   Server   2005
以SA登录

脚本如下:
--   Create   Date:2006/11/7                
--   Example:select_table   't_account '                
               
CREATE   PROC   sys.select_table                  
    @table_name   nvarchar(100)                
as                
declare   @str   nvarchar(1000)                
exec   ( 'select   *   from   '   +   @table_name   )                    

但我执行时返回以下错误:
  訊息   2760,層級   16,狀態   1,程序   select_table,行   11
指定的架构名称   "sys "   不存在,或者您没有使用该名称的权限。
不知道是什么原因。
               
           


------解决方案--------------------
CREATE PROC sp_select_table
@table_name nvarchar(100)
as
declare @str nvarchar(1000)
exec ( 'select * from ' + @table_name )
你命名錯了。違返了命名規則,其實你想在任何都可以調。只要在前加上sp_就是系統存儲過程了