0
每次創建存儲過程時,它都默認爲「主」數據庫。如何製作特定於數據庫「上傳」的SP?創建特定於數據庫的SP?
CREATE PROCEDURE testInsert2
AS
INSERT INTO [uploads].dbo.[aspnet_uploads]
(userID, fileName, userName)
VALUES
('Test1', 'Test2', 'Test3')
每次創建存儲過程時,它都默認爲「主」數據庫。如何製作特定於數據庫「上傳」的SP?創建特定於數據庫的SP?
CREATE PROCEDURE testInsert2
AS
INSERT INTO [uploads].dbo.[aspnet_uploads]
(userID, fileName, userName)
VALUES
('Test1', 'Test2', 'Test3')
您需要在該數據庫的上下文中。
USE uploads;
GO
CREATE PROCEDURE dbo.testInsert2
AS
BEGIN
SET NOCOUNT ON;
INSERT dbo.[aspnet_uploads](userID, fileName, userName)
VALUES('Test1', 'Test2', 'Test3');
END
GO
當你重新連接它發生的服務器。您可以嘗試像這樣
USE [database_name]
GO
Create Procedure [procedure_name]
AS
在代碼中引用數據庫被認爲是不好的做法(sp,functions);在你的情況下,它是'[上傳] .'部分。 – 2012-03-07 22:06:03
@Denis我一般同意這一點,當然它總是依賴,但是這使得使用不同名稱複製數據庫非常困難以隔離測試等。現在,所有的過程仍然引用主副本。 .. – 2012-03-07 22:30:06