2017-05-16 79 views
-1

使用sp_execute_external_script時,無法找到WITH RESULT SETS選項的正確語法,將結果集存儲在表中。WITH RESULT SETS()AS OBJECT(table)的正確語法

這裏是在doc

sp_execute_external_script 
@language = N'language' , 
@script = N'script', 

@input_data_1 = ] 'input_data_1' 
[ , @input_data_1_name = ] N'input_data_1_name' ] 
[ , @output_data_1_name = 'output_data_1_name' ] 
[ , @parallel = 0 | 1 ] 
[ , @params = ] N'@parameter_name data_type [ OUT | OUTPUT ] [ ,...n ]' 
[ , @parameter1 = ] 'value1' [ OUT | OUTPUT ] [ ,...n ] 
[ WITH <execute_option> ] 
[;] 

<execute_option>::= 
{ 
    { RESULT SETS UNDEFINED } 
| { RESULT SETS NONE } 
| { RESULT SETS (<result_sets_definition>) } 
} 

<result_sets_definition> ::= 
{ 
    ( 
    { column_name 
     data_type 
    [ COLLATE collation_name ] 
    [ NULL | NOT NULL ] } 
    [,...n ] 
) 
| AS OBJECT 
    [ db_name . [ schema_name ] . | schema_name . ] 
    {table_name | view_name | table_valued_function_name } 
| AS TYPE [ schema_name.]table_type_name 
} 

給出的語法,但寫的的Jeroen Mostert給出

WITH RESULT SETS 
((
    [IDENTIFIANT] VARCHAR(50), 
    [DATE] date, 
    [CORPUS] NVARCHAR(MAX) 
) AS OBJECT [databasename].[dbo].[tablename]); 
+0

你能發佈錯誤信息嗎? – Coder1991

+1

您的語法不正確。正如語法所示,你可以* WITH * RESULT SETS((...))*或* WITH RESULT SETS(AS OBJECT ...)',但不能同時出現(除非你有不止一個結果集,但是你需要用逗號分隔它們)。兩者結合在一起是沒有意義的:結果集只有一個規範可以應用。 'WITH RESULT SETS'不會在任何地方存儲任何東西 - 它只指定動態結果集的形狀。如果你想把它存儲到一個表中,使用'INSERT ... EXEC',但是'RESULT SETS'不需要(或者允許)。 –

+0

哦,是的,我的壞,腦凍,我忘了|代表「或」...... –

回答

0

答案時,我得到一個錯誤:你可以對結果集有((.. 。))或WITH RESULT SETS(AS OBJECT ...),但不能同時使用。