Có từ khóa tuyên bố trống trong T-SQL trong Sql Server 2005 hoặc mới hơn không? Một cái gì đó giống như câu lệnh NULL trong PL/SQL.Câu lệnh trống trong T-SQL
Trả lời
Không. Không có tương tác "Không hoạt động".
- Đối với một tệp được lưu trữ, bạn sẽ có ít nhất
SET NOCOUNT ON
. - Đối với một
IF/ELSE
, nếu một điều kiện là có sản phẩm nào bỏ qua nó
Nếu không, tại sao cậu lại hỏi xin vui lòng? Để được chính xác, điểm là gì?
OK. Cảm ơn. Tôi cần nó cho máy phát điện SQL của tôi. Nhưng dù sao có vẻ như tôi phải loại bỏ một nhánh rỗng (IF/ELSE, CASE) trước đó, khỏi các đối tượng trung gian của tôi. Tôi thấy rằng câu lệnh trống có thể được "mô phỏng" bởi một khối trống (BEGIN END) nhưng nó không có vẻ tốt. – ternyk
đôi khi điều xấu xảy ra. Tôi tin rằng họ là một sử dụng hợp lệ. Trong một cấu trúc phân nhánh quyết định dài/phức tạp với một số câu lệnh if else, một số câu lệnh có thể chứa các điều kiện mà bạn đặc biệt không mong muốn hành động nào. Bạn cũng không muốn những điều kiện rơi thông qua làm mặc định khác, nơi mà một số công việc được thực hiện. Trong trường hợp đó, đó là một sử dụng hợp lệ.
Dưới đây là hai cách để làm điều này - xem B và C
Declare @status as char(1)
set @status = 'D'
If (@status = 'A')
select 'Great!'
Else if (@status = 'B')
begin
if null=null select null -- predicate never resolves true
end
Else if (@status = 'C')
set @status = @status -- set a variable to itself
Else
select 'Needs work!'
Lưu ý, đây là một ví dụ quá đơn giản. Nó được sử dụng tốt nhất để dễ đọc khi điều kiện phức tạp.
Tôi nghĩ rằng 'nếu null = null chọn null' là gần với các trường hợp rỗng NOOP trong ngôn ngữ loại C bình thường – syclee
Tôi thực sự thích phiên bản 'if null = null select null', vì nó có thể lặp lại trong phạm vi , trong trường hợp này cần phải được thực hiện thường xuyên hơn và nó không có bất kỳ tác dụng phụ –
Tôi cũng tin rằng đôi khi sử dụng hợp pháp cho tập lệnh không có gì (ví dụ: tập lệnh được tạo tự động).
Mặc dù đó là một chủ đề cũ, tôi sẽ đặt vào hai xu của tôi. Tôi nghĩ rằng việc khai báo một biến là một trong những câu lệnh lành tính nhất mà bạn có thể sử dụng. Tuyên bố thậm chí không hiển thị trong kế hoạch thực hiện:
IF (@variable = 0)
BEGIN
DECLARE @placeHolder BIT;
END
Bạn có thể khai báo nhãn để không làm gì cả.
DECLARE @value INT
IF @value IS NULL
BEGIN
no_op1:
END
Cảm ơn bạn, tôi nghĩ rằng đây là cách tốt nhất để làm gì bởi vì nó thực sự không có gì, nó chỉ khai báo. Tôi sẽ sử dụng điều này cho bản dịch tự động của tôi về mã thủ tục được lưu trữ từ Firebird đến SQL-Server, vì Firebird cho phép các khối trống trong khi SQL-Server thì không. Ít nhất là đối với các trường hợp không thể loại bỏ khối bắt đầu. –
Tuyệt. Và lưu ý rằng cùng một nhãn không thể được xác định nhiều hơn một lần .. Đó là lý do tại sao bạn nên đặt tên nó là no_op1 2 3 ... – sotn
- 1. Ý nghĩa của câu lệnh GO trong TSQL
- 2. tsql: có thể thực hiện các câu lệnh lồng nhau trong một lựa chọn không?
- 3. SQL Server (TSQL) - Có thể cho các câu lệnh EXEC song song không?
- 4. Tắt kiểm tra tập lệnh TSQL?
- 5. Câu lệnh ghép nhiều câu lệnh SQL
- 6. Lệnh TSQL phức tạp theo khoản
- 7. Câu lệnh và câu lệnh "là" là
- 8. Câu hỏi phỏng vấn TSQL bạn yêu cầu
- 9. Linq2Sql - cố gắng cập nhật nhưng câu lệnh Đặt trong sql trống
- 10. Java Câu hỏi: Có thể có câu lệnh chuyển đổi trong một câu lệnh khác không?
- 11. grep trong câu lệnh IF
- 12. Regex trong câu lệnh Linq?
- 13. Simple câu lệnh if vs bình thường câu lệnh if
- 14. Thực hiện câu lệnh "if" trong câu sql ở khoản
- 15. Có thể tham khảo các tập lệnh khác trong tệp tập lệnh TSQL không?
- 16. TSQL Thời gian tối thiểu mặc định
- 17. SyntaxRewriter và nhiều câu lệnh
- 18. Câu lệnh lặp SQLite?
- 19. Nhiều câu lệnh Firebird
- 20. "%% DatabaseEx" làm gì trong TSQL?
- 21. cách thoát khỏi tập lệnh python trong câu lệnh if
- 22. php tĩnh trong câu lệnh if
- 23. Cột động trong postgres câu lệnh SELECT
- 24. Lỗi trong câu lệnh Where in LINQ
- 25. Đếm các câu lệnh SQL trong Hibernate
- 26. Chọn Cập nhật câu lệnh trong PostgreSql
- 27. SqlConnection.Close() bên trong sử dụng câu lệnh
- 28. Câu lệnh điều khiển trong Haskell?
- 29. nếu chặn câu lệnh echo bên trong?
- 30. Tại sao 'BINARY' trong câu lệnh SELECT?
Bạn đang cố gắng đạt được điều gì? – cjk