只要你知道存儲過程的結果的結構,你可以創建一個表(TEMP,變量等),並執行存儲過程到表。
CREATE TABLE #MyTestTable
(TABLE_QUALIFIER sysname,
TABLE_OWNER sysname,
TABLE_NAME sysname,
COLUMN_NAME sysname,
DATA_TYPE smallint,
TYPE_NAME sysname,
PRECISION int,
LENGTH int,
SCALE smallint,
RADIX smallint,
NULLABLE smallint,
REMARKS varchar(254),
COLUMN_DEF nvarchar(4000),
SQL_DATA_TYPE smallint,
SQL_DATETIME_SUB smallint,
CHAR_OCTET_LENGTH int,
ORDINAL_POSITION int,
IS_NULLABLE varchar(254),
SS_DATA_TYPE tinyint)
INSERT #MyTempTable
EXEC sp_columns 'tblSomeTableName'
SELECT COLUMN_NAME
FROM #MyTempTable
WHERE ...
這是正確的方法。不幸的是,如果沒有臨時表,沒有任何「直接」的方法。 – BradC 2009-06-16 19:29:11
有做迴環查詢 – SQLMenace 2009-06-16 19:30:17