Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Ưu điểm khi sử dụng biến con trỏ trong SQL Server (khai báo con trỏ @cn)

Có một lợi thế khác khi sử dụng DECLARE @local_variable CURSOR cú pháp mà tôi vừa khám phá.

Lợi thế xảy ra khi một thủ tục được lưu trữ gọi một thủ tục khác và cả hai thủ tục đều có con trỏ mở cùng một lúc. Nếu DECLARE cursor_name CURSOR được sử dụng để xác định các con trỏ và cả hai thủ tục đều sử dụng cùng một tên_chỉ_lệnh, sau đó bạn nhận được

Mặt khác, If DECLARE @local_variable CURSOR được sử dụng để xác định các con trỏ trong các thủ tục được lưu trữ mẹ và con, sau đó là @local_variable là cục bộ cho mỗi thủ tục và không có xung đột. Đối với những người chưa sử dụng phương pháp này trước đây, đây là một ví dụ, sử dụng @C dưới dạng biến cục bộ:

DECLARE @C AS CURSOR;

SET @C = CURSOR FOR SELECT ...;

OPEN @C;

FETCH NEXT FROM @C INTO ...;

...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thứ tự thực hiện cho câu lệnh SQL này là gì

  2. 10 SP_EXECUTESQL Cần tránh để có SQL động tốt hơn

  3. Ràng buộc duy nhất trên nhiều cột

  4. Khắc phục sự cố cơ sở dữ liệu SQL trong sự cố nâng cấp

  5. Sự khác biệt giữa khóa duy nhất với ràng buộc 'không null' và khóa chính là gì?