2010-09-12 15 views
5

Na SQL Server 2008, jak mogę umieścić moje przechowywane procedury w folderze "Przechowywane procedury" w moim DB?Jak umieścić procedurę przechowywaną w wybranej lokalizacji?

Kiedy zadeklarować to w ten sposób:

CREATE PROCEDURE mySchema.myProc 

idzie do:

MYSERVER\System Databases\Master\Programmability\Stored procedures folder. 

Jak powiedzieć serwera, aby przechowywać go w:

MYSERVER\System Databases\MYDB\Programmability\Stored procedures folder. 

EDIT:

Jeśli zadeklaruję to tak:

CREATE PROCEDURE [myDB].mySchema.myProc 

ona narzeka:

'CREATE/ALTER PROCEDURE' does not allow specifying the database name as a prefix to the object name. 

Jeśli używam 'użytkowania' słowo kluczowe, to narzeka:

a USE database statement is not allowed in a procedure, function or trigger. 

Może problemem jest to, że używam MS Management Studio, i łączenie bezpośrednio z serwerem, a nie z jakimś konkretnym DB?

+0

nie jestem pewny, ale nie można to zrobić najpierw wybrać bazę danych? Lub powiedz CREATE PROCEDURE [mydb] .mySchema.myProc – Rob

+0

Nie. Narzeka: "CREATE/ALTER PROCEDURE" nie pozwala na określenie nazwy bazy danych jako przedrostka nazwy obiektu. – kofucii

+1

Następnie wypróbuj następujące USE MyDb GO CREATE PROCEDURE mySchema.myProc – Rob

Odpowiedz

13

Wypróbuj następujące

USE MyDb 
GO 
CREATE PROCEDURE mySchema.myProc 
6

Wygląda na to, że tworzysz procedurę w głównej bazie danych zamiast w bazie danych. Dodaj Use MYDB powyżej skryptu tworzenia procedury składowanej, a zostanie utworzony w bazie danych.

Powiązane problemy