2016-04-27 5 views
0

ich eine Insert-Anweisung nach einem WAK Ausdruck habe, wie untenInsert-Anweisung nach CTE Ausdruck

WITH d as 
(Select t1,t2 from test) 

Insert into test2 (t1,t2) select t1,t2 from d 

Dieser Ausdruck funktioniert gut, wenn ich dies als eine Abfrage ausführen, aber ich brauche einen Blick dafür zu schaffen, und wenn ich benutze es in Sicht bekomme ich den Fehler "Falsche Syntax in der Nähe des Schlüsselwortes 'INSERT'" Was könnte das Problem sein?

+3

Sie können keine Ansicht über eine INSERT-Anweisung erstellen – Quassnoi

Antwort

4

Wenn Sie einen Blick auf die Abfrage erstellen möchten Sie füttern diese einzufügen, verwenden Sie:

CREATE VIEW 
     myview 
AS 
WITH d as 
     (
     SELECT t1, t2 
     FROM test 
     ) 
SELECT t1, t2 
FROM d 

Sie können dann die Ansicht als Quelle verwenden, um INSERT wie jede andere Tabelle:

INSERT 
INTO test2 (t1, t2) 
SELECT * 
FROM myview 
1

In RDBMS Sie haben Anweisungen für tun etwas

  • einfügen
  • löschen
  • ändern
  • erstellen ...

Sie sie in Stored Procedure oder Trigger

Andere Aktionen werden read-only

setzen können
  • wählen

du

A VIEW ist ein Name für eine gespeicherte SELECT in View oder Function setzen können. Sie können dort nichts ändern ...