2010-09-12 55 views
5

Trên SQL Server 2008, làm thế nào tôi có thể đặt các thủ tục được lưu trữ của tôi trong thư mục "Thủ tục lưu trữ" của DB của tôi?Làm thế nào để đặt thủ tục lưu trữ ở vị trí mong muốn?

Khi tôi tuyên bố nó theo cách này:

CREATE PROCEDURE mySchema.myProc 

Nó đi tới:

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

Làm thế nào để nói với máy chủ, lưu trữ nó trong:

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

EDIT:

Nếu tôi khai báo như sau:

CREATE PROCEDURE [myDB].mySchema.myProc 

Nó phàn nàn về:

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

Nếu tôi sử dụng từ khóa 'SỬ DỤNG', Nó than phiền:

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

Có lẽ vấn đề là tôi đang sử dụng MS Management Studio, và kết nối trực tiếp với máy chủ và không kết nối với bất kỳ DB cụ thể nào?

+0

Tôi không hoàn toàn chắc chắn, nhưng có thể không bạn làm điều này bằng cách chọn cơ sở dữ liệu đầu tiên? Hoặc nói CREATE PROCEDURE [mydb] .mySchema.myProc – Rob

+0

No. Nó than phiền: 'TẠO/THAY THẾ THỦ TỤC' không cho phép chỉ định tên cơ sở dữ liệu làm tiền tố cho tên đối tượng. – kofucii

+1

Sau đó, thử sử dụng USEb GO THỦ TỤC TẠO SỬ DỤNG sau đây mySchema.myProc – Rob

Trả lời

13

Hãy thử như sau

USE MyDb 
GO 
CREATE PROCEDURE mySchema.myProc 
6

Dường như bạn đang tạo quy trình trong cơ sở dữ liệu chính thay vì cơ sở dữ liệu của bạn. Thêm Use MYDB phía trên tập lệnh tạo của quy trình được lưu trữ và nó sẽ được tạo trong cơ sở dữ liệu của bạn.

Các vấn đề liên quan