Trong T-SQL (SQL Server 2000). Làm thế nào tôi có thể liệt kê tất cả các bảng và cột trong cơ sở dữ liệu? Ngoài ra, trong một truy vấn riêng biệt là có một cách để liệt kê tất cả các cột cùng với kiểu dữ liệu và ràng buộc (NULLS, v.v.). Cảm ơn.Bảng danh sách T-SQL, Cột
Trả lời
Vui lòng xem information schema.
select *
from MyDatabaseName.information_schema.columns
order by table_name, ordinal_position
Cảm ơn Tim Tôi đánh giá cao điều này. Có cách nào để thêm vào cơ sở dữ liệu các bảng được gán cho? Tôi thấy Catalog là chủ. – user1804387
'sử dụng MyDatabaseName;', sau đó truy vấn. [MSDN: Chọn cơ sở dữ liệu] (http://msdn.microsoft.com/en-us/library/ms180770.aspx). Ngoài ra, hãy thêm tên DB vào mệnh đề 'from' của bạn trong [thời trang 4 phần] bình thường (http://msdn.microsoft.com/en-us/library/ms177563.aspx) (Tôi đã thêm câu trả lời này vào câu trả lời). –
Tôi vừa tìm thấy điều đó. Cảm ơn một lần nữa – user1804387
Nhiều cách để thực hiện. Dưới đây là vài cách mà bạn có thể liệt kê:
Lựa chọn 1:
SELECT db_name() as DATABASE_NAME, TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, ORDINAL_POSITION,
COLUMN_DEFAULT, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH,
NUMERIC_PRECISION, NUMERIC_PRECISION_RADIX, NUMERIC_SCALE,
DATETIME_PRECISION
FROM INFORMATION_SCHEMA.COLUMNS
Phương án 2:
DECLARE @SQL VARCHAR(8000)
SELECT @SQL = ''
SELECT @SQL = @SQL + 'UNION
SELECT ''' + name + ''' [DataBaseName], t.name [TableName], c.name [ColumnName], st.name [DataType] FROM ' + name + '..sysobjects t INNER JOIN ' + name + '..syscolumns c ON t.id = c.id INNER JOIN '+ name + '..systypes st on c.xtype = st.xtype where t.xtype = ''U'''
FROM master..sysdatabases
WHERE name IN ('databasename1', 'databaseName2') -- change here !!
SELECT @SQL = RIGHT(@SQL, LEN(@SQL)-5) + ' ORDER BY 1, 2, 3'
EXEC(@SQL)
Lựa chọn 3:
select db_name() as database_name
,table_name = sysobjects.name
,column_name = syscolumns.name
,datatype = systypes.name
,length = syscolumns.length
from sysobjects
inner join syscolumns on sysobjects.id = syscolumns.id
inner join systypes on syscolumns.xtype = systypes.xtype
where sysobjects.xtype = 'U'
order by sysobjects.name
,syscolumns.colid
- 1. chèn danh tính tsql không có danh sách tên cột
- 2. Cách truy vấn cột xml trong tsql
- 3. TSQL: cập nhật một cột thành null
- 4. Cách chọn cột động từ Danh sách
- 5. Python - viết danh sách danh sách các danh sách trong các cột
- 6. Hộp danh sách nhiều cột trong WPF
- 7. sql động sử dụng biến bảng -TSQL
- 8. Thêm cột mới vào từng phần tử trong danh sách bảng hoặc khung dữ liệu
- 9. Chỉ định tên cột từ một danh sách vào một bảng
- 10. Android nhận danh sách các bảng
- 11. Mysql: RENAME BẢNG NẾU DANH SÁCH
- 12. Tạo bảng HTML từ danh sách
- 13. TSQL, đếm cặp giá trị trong một bảng
- 14. Chia danh sách thành nhiều cột trong Latex
- 15. Trong Python, làm cách nào để xóa mục danh sách thứ N từ danh sách danh sách (xóa cột)?
- 16. DB2: Làm cách nào để tìm thấy cột có trong bảng hoặc danh sách các bảng không?
- 17. Cột Giáo lý không tìm thấy: 1054 Cột không xác định 's.features' trong 'danh sách trường' '
- 18. Cột không xác định 'giá trị2' trong 'danh sách trường'
- 19. Cột không xác định trong Danh sách trường. PHP + Mysql
- 20. Xóa thuộc tính/cột khỏi danh sách chung
- 21. Các mục quá cũ trong danh sách bảng tổng hợp
- 22. TSQL chọn bảng Nhiệt độ từ sql động
- 23. TSQL - Dùng Chọn Cột nguồn gốc trong mệnh đề where
- 24. TSQL Remove nhân đôi hàng trên một số cột chỉ
- 25. TSQL: theo thứ tự asc không có tên cột
- 26. Xóa danh tính từ một cột trong một bảng
- 27. JDBC ResultSet có được cột với bảng bí danh
- 28. Nhiều cột tệp đính kèm trong danh sách SharePoint
- 29. Định dạng danh sách văn bản thành các cột
- 30. Bố cục hộp danh sách WPF: nhiều cột
Hà bạn đã thử bất cứ điều gì? –
Hãy xem các khung nhìn 'INFORMATION_SCHEMA' hoặc' sysobjects', 'syscolumns', v.v. –