sp_MS_marksystemobject把这些存储过程标记为系统存储过程。

--sp_的迷糊
if exists(select 1 from master..sysdatabases where name='TestSpPrefix')
    
DROP DATABASE TestSpPrefix
GO
CREATE DATABASE TestSpPrefix
GO
USE TestSpPrefix
go
IF OBJECT_ID(N'dbo.Orders',N'U'IS NOT NULL
 
DROP TABLE dbo.Orders
GO
CREATE TABLE Orders(OrderId INT)
GO
INSERT INTO Orders     SELECT 1 
UNION ALL               SELECT 2
UNION ALL               SELECT 3
UNION ALL               SELECT 4
UNION ALL               SELECT 5
UNION ALL               SELECT 6

GO
USE master;
GO
IF OBJECT_ID('dbo.sp_Proc1'IS NOT NULL
  
DROP PROC dbo.sp_Proc1;
GO
CREATE PROC dbo.sp_Proc1
AS
PRINT 'master.dbo.sp_Proc1 executing in ' + DB_NAME();
SELECT OrderID FROM dbo.Orders;
go
EXEC sp_MS_marksystemobject 'dbo.sp_Proc1';

USE TestSpPrefix
EXEC dbo.sp_proc1
GO
USE Northwind
EXEC dbo.sp_proc1
--GO
--
USE Pubs
--
EXEC dbo.sp_proc1

posted @ 2008-11-12 10:43  roboth  阅读(800)  评论(0)    收藏  举报