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

Quy trình tạo bảng với số cột thay đổi

DECLARE @sSQL varchar(max),
  @ColumnName CHAR(128)

DECLARE TableCursor CURSOR FOR
  SELECT ColumnName FROM GroupTable

SET @sSQL = 'CREATE TABLE ##NewTempTable ('

OPEN TableCursor

FETCH NEXT FROM TableCursor INTO @ColumnName

WHILE @@FETCH_STATUS = 0
BEGIN 

SET @sSQL = @sSQL + RTRIM(@ColumnName) + ' CHAR(10) ,'

FETCH NEXT FROM TableCursor INTO @ColumnName

END

CLOSE TableCursor

DEALLOCATE TableCursor

SET @sSQL = @sSQL + ')'

EXEC (@sSQL)

SELECT * FROM ##NewTempTable

Tôi hi vọng cái này giúp được. Trong DECLARE CURSOR, bạn sẽ cần thay đổi "ColumnName" và "TableName" thành cột / bảng thực tế mà bạn đang truy vấn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tìm N bản ghi liên tiếp trong bảng bằng SQL

  2. Nhận ID của các bản ghi được chèn lần cuối

  3. Nhận dữ liệu chưa được đánh dấu từ db

  4. Tìm kiếm chuỗi ký tự đại diện Trigram trong SQL Server

  5. Gói SSIS đưa ra lỗi sau khi triển khai SQL Server 2012