1、擷取使用者表名:
SELECT name FROM sysobjects WHERE type = 'U' AND sysstat = '83'
注意:一般情況隻需要type = 'U',但有時候會有系統表混在其中(不知道什麼原因),加上後面一句後就能删除這些系統表了
2、得到表中的所有列資訊(包含資料類型名):
SELECT syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype AND "syscolumns.id = object_id('tableName')
注意點:
(1)這裡為了重點突出某些重要内容,選取了其中幾項資訊輸出。
(2)syscolumns表中隻含有資料類型編号,要擷取完整的名字需要從systypes表中找,一般使用者使用的資料類型用xusertype對應比較好,不會出現一對多的情況。
(3)syscolumns.length得到的是實體記憶體的長度,是以nvarchar和varchar等類型在資料庫中的顯示是這個的一半。