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

Xác định các bước cho con trỏ máy chủ SQL - Hướng dẫn sử dụng SQL Server / TSQL

Con trỏ là các đối tượng được cung cấp cho chúng ta trong SQL Server để thực hiện thao tác theo từng hàng.

Dưới đây là các bước làm cách nào để bạn viết con trỏ

1-Khai báo một con trỏ bằng sử dụng tên của Con trỏ với trạng thái Chọn
2- Mở Con trỏ để điền vào đầu ra của câu lệnh Chọn
3- Tìm nạp các hàng để xử lý chúng lần lượt
4- Đóng Con trỏ
5- Bỏ cấp phát con trỏ

Chúng ta gặp các tình huống khác nhau trong đó chúng ta có thể sử dụng con trỏ. Dưới đây là một số ví dụ mà chúng ta có thể sử dụng con trỏ. tất cả các bảng trong Cơ sở dữ liệu
3 - Bật / Tắt tất cả các trình kích hoạt trong Cơ sở dữ liệu SQL Server
4 - Tạo Tập lệnh / Sao lưu tất cả Cơ sở dữ liệu trên SQL Server lần lượt
5 --Cắt / Xóa tất cả các bảng khỏi Cơ sở dữ liệu SQL Server


Mã ví dụ:
Đoạn mã dưới đây có thể được sử dụng để hủy tất cả các quy trình đối với cơ sở dữ liệu. Chúng tôi không thể đổi tên cơ sở dữ liệu nếu bất kỳ quá trình nào đang truy cập cơ sở dữ liệu. Để đổi tên, chúng ta phải hủy tất cả các quy trình trước khi đổi tên cơ sở dữ liệu trong SQL Server.

USE MASTER
GO
DECLARE @DatabaseName AS VARCHAR(500)
-->Provide the DataBaseName for which want to Kill all processes.
SET @DatabaseName='TestDB'
DECLARE @Spid INT

--1: Declare Cursor:
DECLARE KillProcessCur CURSOR FOR
  SELECT spid
  FROM   sys.sysprocesses
  WHERE  DB_NAME(dbid) = @DatabaseName

--2: OPEN Cursor
OPEN KillProcessCur

--3: Fetch A record
FETCH Next FROM KillProcessCur INTO @Spid

--Loop Through the Rows one by one
WHILE @@FETCH_STATUS = 0
  BEGIN
      DECLARE @SQL VARCHAR(500)=NULL
      SET @SQL='Kill ' + CAST(@Spid AS VARCHAR(5))

      PRint @SQL
     
      EXEC (@SQL)
      PRINT 'ProcessID =' + CAST(@Spid AS VARCHAR(5))
            + ' killed successfull'
      FETCH Next FROM KillProcessCur INTO @Spid
  END

--4: Close the Cursor
CLOSE KillProcessCur
--5: Deallocate Cursor
DEALLOCATE KillProcessCur
 
 
 
 
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bạn có thể có logic if-then-else trong SQL không?

  2. Giới thiệu về OPENJSON với các ví dụ (SQL Server)

  3. Cách xem kế hoạch thực thi truy vấn trong Azure Data Studio (SQL Server)

  4. Chuyển đổi Mili giây UTC thành DATETIME trong máy chủ SQL

  5. Tại sao tham gia bên trái t-sql của tôi không hoạt động?