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

Các loại con trỏ máy chủ SQL - Chỉ chuyển tiếp con trỏ động | Hướng dẫn sử dụng SQL Server / TSQL

Con trỏ là những đối tượng cho phép chúng ta truy cập từng hàng dữ liệu từ tập kết quả.

Forward Only Cursors không cho phép cuộn lùi. Tùy chọn cuộn duy nhất mà chúng tôi có là FETCH NEXT.

Chỉ chuyển tiếp Con trỏ tĩnh nhạy cảm với bất kỳ thay đổi nào (cập nhật, xóa, chèn) được thực hiện đối với nguồn dữ liệu gốc. Nếu các thay đổi được thực hiện, chúng sẽ được trích xuất trên Tìm nạp tiếp theo.


Tập lệnh cho Con trỏ động Forward_Only


--drop table dbo.Customer
Create table dbo.Customer ( 
CustomerId Int Identity(1,1),
CustomerName VARCHAR(100),
StreetAddress VARCHAr(100),
City VARCHAR(100),
State CHAR(2))
go

--Insert couple of Records in Sample Table
Insert into dbo.Customer
Select 'Aamir shahzad','Test Street Address','Charlotte','NC'
Union 
Select 'M Raza','Test Street Address','Charlotte','NC'

Select * from dbo.Customer

--Insert NEW Record
Insert into dbo.Customer
Select 'John Smith','Test Street Address','New York City','NY'

--Delete Records
Delete from dbo.Customer
Where CustomerName in ('Aamir Shahzad','M Raza')

--Update All Record
Update dbo.Customer
set CustomerName='NO NAME'




--Cursor Script

Declare @CustomerID INT
Declare @CustomerNAme VARCHAR (100)
DECLARE @StreetAddress VARCHAR(100)
DECLARE @City VARCHAR(100)
DECLARE @State CHAR(2)

--DECLARE A CURSOR
DECLARE CUR CURSOR
Forward_Only Dynamic
FOR
Select CustomerID,CustomerName,StreetAddress,City,State from dbo.Customer

--OPEN CURSOR
OPEN CUR
Print 'CURSOR IS OPEN'
--FETCH NEXT RECORD
FETCH NEXT FROM CUR INTO @CustomerID,@CustomerNAme,@StreetAddress,@City,@State
WHILE @@FETCH_STATUS=0
BEGIN 
RAISERROR ('',0,1) WITH NOWAIT
WAITFOR DELAY '00:00:15'
PRINT CONCAT(@CustomerID,' ',@CustomerNAme,' ',@StreetAddress,' ',@City,' ',@State)
FETCH NEXT FROM CUR INTO @CustomerID,@CustomerNAme,@StreetAddress,@City,@State

END
CLOSE CUR
DEALLOCATE CUR



Xem video để biết chi tiết về Con trỏ động Chỉ chuyển tiếp trong SQL Server


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi không thành công khi chuyển đổi giá trị varchar 'simple' thành kiểu dữ liệu int

  2. Thứ tự hàng mặc định trong truy vấn CHỌN - SQL Server 2008 so với SQL 2012

  3. Thêm mối quan hệ Khoá ngoại giữa hai Cơ sở dữ liệu

  4. Làm cách nào để tạo người dùng trong cơ sở dữ liệu SQL Server Express mà tôi đã thêm vào dự án của mình?

  5. Giá trị Null có kích thước bao nhiêu trong SQL Server