sql >> Databáze >  >> RDS >> Sqlserver

OPENQUERY vyvolá chybu při použití s ​​WIN2K8\SQL2K12

Hodnoty DATETIME musíte uzavřít do jednoduchých uvozovek. A protože váš dotaz je v samotném řetězci, je třeba tyto jednoduché uvozovky zdvojit/uvozovat následujícím způsobem (a pravděpodobně byste také měli vložit hodnotu prvního parametru do uvozovek s uvozovkami, protože se jasně jedná o řetězec).

Také byste měli plně kvalifikovat název uložené procedury pomocí [DatabaseName].[SchemaName]. .

A protože vcs_gauge proc používá dynamické SQL, musíte zadat WITH RESULT SETS doložka. Další informace o této klauzuli naleznete na stránce MSDN pro EXECUTE .

SELECT *
INTO #tmpTable
FROM OPENQUERY([WIN2K8\SQL2K12],
             N'EXEC [DatabaseName].[SchemaName].vcs_gauge
                      @gauge_name = ''vs1_bag'',
                      @first_rec_time = ''2014-09-01 09:00:00'',
                      @last_rec_time = ''2014-09-01 10:00:00''
               WITH RESULT SETS ( { column_specification} );
             ');



  1. Zjistil někdo, že REGEX \b nefunguje v MYSQL?

  2. PHP OCI, Oracle a výchozí formát čísel

  3. Jak získat hodnotu sloupců datového typu BIT(…) v binární podobě?

  4. Jak vypsat PGresult pro příkazy jiné než SELECT