Sie erhalten diesen Fehler, da Sie Stata sagen etwas zu laden, aber Ihr Code hat keine SELECT
-Klausel, die nicht Teil der Tabellenerstellung ist. Wenn Sie am Ende eine SELECT
-Klausel hinzufügen, wird es funktionieren.
Alternativ können Sie odbc exec("SqlStmt")
Syntax verwenden, wenn Sie nur eine Tabelle erstellen möchten.
Hier ist ein Beispiel:
/* Works */
odbc load, exec("
CREATE VOLATILE MULTISET TABLE vol_tab AS (
SELECT TOP 10 user_id FROM dw_users
)
WITH DATA
PRIMARY INDEX(user_id)
ON COMMIT PRESERVE ROWS;
SELECT * FROM vol_tab;
") clear dsn("mozart") lowercase multistatement;
format user_id %20.0fc;
sort user_id;
list, clean noobs;
/*Also Works */
odbc exec("
CREATE VOLATILE MULTISET TABLE vol_tab AS (
SELECT TOP 10 user_id FROM dw_users
)
WITH DATA
PRIMARY INDEX(user_id)
ON COMMIT PRESERVE ROWS;
"), dsn("mozart");
/* Fails: Load With No Bottom Select Clause */
odbc load, exec("
CREATE VOLATILE MULTISET TABLE vol_tab AS (
SELECT TOP 10 user_id FROM dw_users
)
WITH DATA
PRIMARY INDEX(user_id)
ON COMMIT PRESERVE ROWS;
") clear dsn("mozart");
ich diese Frage häufig, so dass ich beschlossen, eine schöne googleable Antwort für die Nachwelt zu schaffen. –