2012-02-19 49 views

Trả lời

16

Các CREATE PROCEDURE procedureName tuyên bố tạo ra các thủ tục.

Bạn chỉ cần thực thi nó một lần và nó sẽ lưu thủ tục vào cơ sở dữ liệu của bạn.

Hãy chắc chắn để chọn cơ sở dữ liệu chính xác bạn muốn lưu các thủ tục để, hoặc bằng cách chọn nó ở góc trên bên trái của SQL Server Management Studio, hoặc bằng cách đặt sau ở phía trên cùng của mã của bạn:

USE databaseName

Cũng lưu ý, nếu có bất kỳ lỗi cú pháp nào, nó sẽ không "lưu" quy trình.

+0

vince_sql - Tôi đã làm điều đó nhưng không thấy thủ tục được lưu trữ ở bất kỳ đâu. Ngoài ra, tôi có chỉ định tên cơ sở dữ liệu phía trên câu lệnh CREATE PROCEDURE không? – PeanutsMonkey

+1

Có, câu lệnh USE chỉ định ngữ cảnh cơ sở dữ liệu mà bất kỳ mã nào sau khi nó sẽ chạy (cho đến khi câu lệnh USE tiếp theo, nếu có). Có thể bạn đã tạo quy trình trong cơ sở dữ liệu chính, bạn có thể xem điều này bằng cách nhấp vào 'Cơ sở dữ liệu hệ thống', sau đó chọn 'làm chủ', rồi 'Lưu trữ thủ tục'. –

+0

tôi đã ghi rõ tên cơ sở dữ liệu bằng cách làm như sau SỬ DỤNG databasename CREATE PROCEDURE [THỦ TỤC NAME] Tuy nhiên nhận được lỗi Msg 111, Level 15, State 1, Thủ tục usp_displayprice, Line 20 'CREATE/ALTER PROCEDURE 'phải là câu lệnh đầu tiên trong một chuỗi truy vấn. – PeanutsMonkey

3

Khi bạn đang học SQL Server và Management Studio, bạn có thể thấy rất hữu ích khi làm quen với các mẫu dựng sẵn để tạo mọi thứ từ cơ sở dữ liệu đến bảng để lưu trữ thủ tục và hơn thế nữa. Bạn định vị các mẫu trong Trình khám phá mẫu trong trình đơn Chế độ xem.

Ví dụ đầu tiên trong this walk-through with screenshots cho biết cách sử dụng mẫu để tạo quy trình được lưu trữ. Mẫu đó bao gồm một trình giữ chỗ cho tên lược đồ (thường chỉ là dbo).

Bạn cũng sẽ muốn bao gồm câu lệnh USE để đảm bảo rằng quy trình được lưu trữ được tạo trong cơ sở dữ liệu chính xác.

Ngoài việc giúp bạn học thực hành mã hóa thích hợp, sử dụng các mẫu này có thể là trình tiết kiệm thời gian thực và giúp bạn tránh lỗi chính tả và lỗi cú pháp ngay cả sau khi bạn thành thạo SQL.

Và khi bạn thực sự giỏi về nó, bạn có thể tạo mẫu của riêng mình.

Sửa: Đây là một rất cơ bản CREATE PROCEDURE tuyên bố:

USE MyDatabase 
GO 
CREATE PROCEDURE dbo.MyProcedure 
AS 
SELECT FirstName, LastName, Address, City 
FROM Customers 
ORDER BY LastName 
GO 

Sau khi bạn chạy đó, bạn có thể chạy dòng này để kiểm tra xem các thủ tục đã được tạo ra và nó đang làm việc một cách chính xác:

EXEC dbo.MyProcedure 
+0

Cảm ơn nhưng thấy rằng khá đáng sợ vì đây là lần đầu tiên của tôi. Tôi đang làm theo hướng dẫn tại http://www.sql-server-performance.com/2003/stored-procedures-basics/ – PeanutsMonkey

+1

Đừng tuyệt vọng. Chỉ có một vài gotchas như thế này trong SQL, và hầu hết chúng sẽ áp dụng cho tất cả các cơ sở dữ liệu khác mà bạn chạy vào. Vì vậy, một khi bạn vượt qua được vài thủ tục lưu trữ đầu tiên, nó sẽ nhận được MUCH dễ dàng hơn. – DOK

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