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

Được phân tách bằng dấu phẩy Danh sách tất cả các cột trong Cơ sở dữ liệu (Tên bảng | Tên_mạch ...)

Select TABLE_SCHEMA, TABLE_NAME
    , Stuff(
        (
        Select ', ' + C.COLUMN_NAME
        From INFORMATION_SCHEMA.COLUMNS As C
        Where C.TABLE_SCHEMA = T.TABLE_SCHEMA
            And C.TABLE_NAME = T.TABLE_NAME
        Order By C.ORDINAL_POSITION
        For Xml Path('')
        ), 1, 2, '') As Columns
From INFORMATION_SCHEMA.TABLES As T

Như đã đề cập trong phần bình luận, bên trên sẽ bao gồm các lượt xem. Nếu bạn muốn loại trừ các lượt xem, bạn có thể làm như sau:

Select T.TABLE_SCHEMA, T.TABLE_NAME
    , Stuff(
        (
        Select ', ' + C.COLUMN_NAME
        From INFORMATION_SCHEMA.COLUMNS As C
        Where C.TABLE_SCHEMA = T.TABLE_SCHEMA
            And C.TABLE_NAME = T.TABLE_NAME
        Order By C.ORDINAL_POSITION
        For Xml Path('')
        ), 1, 2, '') As Columns
From INFORMATION_SCHEMA.TABLES As T
    Left Join INFORMATION_SCHEMA.VIEWS As V
        On V.TABLE_SCHEMA = T.TABLE_SCHEMA
            And V.TABLE_NAME = T.TABLE_NAME
Where V.TABLE_NAME Is Null


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn dữ liệu trên Bảng SQL ... không thể tìm thấy dữ liệu

  2. Truy vấn cơ sở dữ liệu chéo với các tên DB khác nhau trong các môi trường khác nhau?

  3. Chỉ thực thi một trình kích hoạt khi một số cột nhất định được cập nhật (Máy chủ SQL)

  4. Trục động SQL cho các mục tiêu

  5. Xác định phiên bản SQL Server của máy chủ được liên kết