2012-03-07 48 views
0

每次創建存儲過程時,它都默認爲「主」數據庫。如何製作特定於數據庫「上傳」的SP?創建特定於數據庫的SP?

CREATE PROCEDURE testInsert2 
AS 
INSERT INTO [uploads].dbo.[aspnet_uploads] 
(userID, fileName, userName) 
VALUES 
('Test1', 'Test2', 'Test3') 
+0

在代碼中引用數據庫被認爲是不好的做法(sp,functions);在你的情況下,它是'[上傳] .'部分。 – 2012-03-07 22:06:03

+0

@Denis我一般同意這一點,當然它總是依賴,但是這使得使用不同名稱複製數據庫非常困難以隔離測試等。現在,所有的過程仍然引用主副本。 .. – 2012-03-07 22:30:06

回答

3

您需要在該數據庫的上下文中。

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 
0

當你重新連接它發生的服務器。您可以嘗試像這樣

USE [database_name] 
GO 
Create Procedure [procedure_name] 
AS