我想创建一个存储过程,不管在哪个数据库都能使用。就好像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_就是系統存儲過程了