2012-03-07 7 views
0

ストアドプロシージャを作成するたびに、デフォルトで「マスタ」データベースが使用されます。データベースに固有のSPを「アップロード」するにはどうすればよいですか?データベースに固有のSPを作成していますか?

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

あなたのコード(sp、関数)でデータベースを参照するのは悪い習慣とみなされます。あなたの場合は '[uploads] 'の部分です。 –

+0

@デニス私は一般的にそれに同意しますが、それは常に依存しますが、テストのために別の名前のデータベースのコピーを作成することは非常に難しくなります。 .. –

答えて

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 
関連する問題