Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Типове курсори на SQL Server - Статичен курсор само за препращане | Урок за SQL Server / Урок за TSQL

Курсори са обектите, които ни позволяват достъп до данните ред по ред от набора от резултати.

Само напред курсорите не позволяват превъртане назад. Единствената опция за превъртане, която имаме, е FETCH NEXT.


Само препращане Статичните курсори не са чувствителни към промени (актуализация, изтриване, вмъкване), направени в оригиналния източник на данни след създаването на курсора.

Скрипт за статичен курсор само за препращане
--пуснете таблица dbo.CustomerCreate table dbo.Customer (CustomerId Int Identity(1,1),CustomerName VARCHAR(100),StreetAddress VARCHAr( 100),City VARCHAR(100),State CHAR(2))go--Вмъкнете няколко записа в Примерна таблица Вмъкнете в dbo.CustomerSelect 'Aamir shahzad','Test Street Address','Charlotte','NC'Union Select' M Raza','Test Street Address','Charlotte','NC'Изберете * от dbo.Customer--Вмъкнете НОВ записInsert в dbo.CustomerSelect 'John Smith','Test Street Address','New York City',' NY'--Изтриване на RecordsDelete от dbo.CustomerWhere CustomerName в ('Aamir Shahzad','M Raza')--Update All RecordUpdate dbo.Customerset CustomerName='NO NAME'--Cursor ScriptDeclare @CustomerreARME @CustomerreARME10Du) ДЕКЛАРИРАЙТЕ @StreetAdd ress VARCHAR(100)DECLARE @City VARCHAR(100)DECLARE @State CHAR(2)--ДЕКЛАРИРАНЕ НА CURSORDECLARE CUR CURSORForward_Only StaticFORSelect CustomerID,CustomerName,StreetAddress,City,State,State,State CHAR(2)--DECLARE A CURSORDECLARE CUR CURSORForward_Only StaticFORSelect CustomerID,CustomerName,StreetAddress,City,State'State'OpCUENCURRS-DOPCUENCURRS- --ИЗВЛЕЧВАНЕ НА СЛЕДВАЩ ЗАПИС ИЗВЛЕЧВАНЕ СЛЕДВАЩО ОТ CUR В @CustomerID,@CustomerNAME,@StreetAddress,@City,@StateWHILE @@FETCH_STATUS=0BEGIN RAISERROR ('',0,1) WITH NOWAITFOR DELAY '050':0 @CustomerID,' ',@CustomerNAME,' ',@StreetAddress,' ',@City,' ',@State)ИЗВЛЕЧВАНЕ НА СЛЕДВАЩО ОТ CUR В @CustomerID,@CustomerNAME,@StreetAddress,@City,@StateEND CLOSE CURDEALLOCATE предварително> 


Гледайте видеоклипа за демонстрация как работят само статичните курсори напред в 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. Конкатенация на низове на SQL Server с Null

  2. Нива на изолация на SQL сървър:серия A

  3. Разделете дял на две в SQL Server (T-SQL)

  4. LIMIT 10..20 в SQL Server

  5. Колона, подобна на идентичност, но въз основа на критерии за групиране