Ist es möglich, ein SQL-Skript von einer gespeicherten Prozedur in einem anderen SQL-Script aufzurufen?

8

Ich würde gerne verwenden. sql script aus einem gespeicherten proc so aufrufen ...

%Vor%

Ich erhalte eine Fehlermeldung "test.sql konnte nicht geöffnet werden". "Fehler wenn ich es so führe. Ich habe es auch versucht! aber dann bekomme ich eine Erlaubnis verweigert Fehler. Allerdings kann ich das nicht beseitigen; oder das Ganze ist kaputt. Gibt es einen Weg dazu?

Was mache ich falsch?

    
Genia S. 13.02.2009, 22:16
quelle

2 Antworten

5

Es gibt eine Reihe von Befehlen, die in den mysql-Client eingebaut sind. Sie sind unter " mysql Befehle dokumentiert." Dazu gehören DELIMITER, SOURCE, HELP, CONNECT, USE, QUIT usw.

Der Befehl \. (oder SOURCE ) ist einer dieser Builtins. Sie können diese integrierten Befehle weder programmgesteuert noch in einer gespeicherten Prozedur ausführen.

Es wäre so, als würde man versuchen, eine eingebaute UNIX-Shell aus einem C-Programm mit execl() auszuführen.

Eine andere Analogie könnte in einem Webbrowser sein, wo Sie spezielle Anfragen wie " about: " eingeben können, die von der Browser-App selbst bearbeitet werden; Diese führen zu keiner HTTP-Anfrage an eine entfernte Website.

Es wäre auch nicht hilfreich, wenn Sie ein Skript aus einer gespeicherten Prozedur heraus beziehen könnten, da das Skript selbst wahrscheinlich eine Reihe von Befehlen enthält, die mysql-Client-Builtins sind und daher nicht vom gespeicherten proc ausgeführt werden können.

Siehe auch meine Antworten auf diese verwandten Fragen:

Bill Karwin 13.02.2009, 23:36
quelle
0

Wenn Sie mit SQL Sevrer 2005 arbeiten, können Sie den Befehl xp_cmdshell verwenden.

Ссылка

Oder

Ссылка

    
matt_dev 13.02.2009 22:22
quelle