2008-10-21 29 views
5

Tôi có một câu hỏi đơn giản như thế này:Cú pháp cho các biến trong một thủ tục lưu sẵn MSSQL là gì?

select * from mytable where id > 8 

Tôi muốn làm cho 8 một biến. Có một số cú pháp như

declare @myvar int 
myvar = 8 

nhưng tôi không biết cú pháp chính xác.

Nó là gì?

Cảm ơn!

+2

Tôi bắt đầu tự hỏi về tên của bạn, Cơ sở dữ liệu của ông – DOK

+2

Tên đệm của tôi là "là gì": -] – MrDatabase

Trả lời

14

Đó là:

DECLARE @MyVariable INT 
SET @MyVariable = 8 
1
declare @myvar int 

select @myvar = 8 
5
declare @myvar int 

Set @myvar = 8 

select * from mytable where id > @myvar 
3

Để làm rõ: cả SET và làm việc SELECT, nhưng SET là tiêu chuẩn ANSI. Tuy nhiên, nếu bạn đang thiết nhiều giá trị cùng một lúc, sau đó

SET @one = 1 
SET @two = 2 

sẽ rất hơi chậm hơn

SELECT @one = 1, @two = 2 

Những gì bạn đạt được tốc độ cũng có thể được bù đắp bằng khả năng đọc và rõ ràng, tuy nhiên.

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