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

SQL:Tên biến động

Chà, nó không đẹp, nhưng bạn có thể làm được:

if @loopcntr = 1
    set var01 = 'somevalue'
else if @loopcntr = 2
    set var02 = 'whatever'
else if . . .

Điều này sẽ đủ khó chịu để bạn có thể nghĩ đến các lựa chọn thay thế. Ồ, đây là một cái hay. Xác định một biến bảng và chỉ thêm các hàng cho mỗi giá trị:

declare @vars table (
    id int identity(1, 1),
    loopcntr int,
    value varchar(255)
);

. . .
-- inside the loop
    insert into @vars(loopcntr, value)
        select @loopcntr, 'whatever';

Khi bạn muốn nhận một biến, bạn có thể thực hiện:

declare @var varchar(255);
select @var = value from @vars where loopcntr = <the one I want>;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để định cấu hình tệp Excel làm Máy chủ được Liên kết trong SQL Server?

  2. Không thể kết nối với SQL Server bằng PHP

  3. Định cấu hình công việc SQL trong SQL Server bằng T-SQL

  4. Không thể bắt lỗi bảng thay đổi SQL Server

  5. Cách sử dụng Từ dừng và Danh sách dừng để cải thiện Tìm kiếm toàn văn bản (FTS) của SQL Server