Gibt es eine Möglichkeit, die Parameternamen einer gespeicherten Prozedur in einer Datenbank abzurufen, indem Sie den Prozedurnamen und den Datenbanknamen in MySQL angeben?Abrufen der Parameternamen durch Angabe des Prozedurnamens - MySQL
0
A
Antwort
1
Zuvor gab ich eine Lösung mit mysql.proc
. @ Michael-sqlbot wies darauf hin, dass es viel besser wäre, information_schema.parameters
zu verwenden. Diese überarbeitete Lösung folgt diesem Vorschlag.
Führen Sie diese Abfragen zu beschreiben und die Daten in information_schema.parameters
zu illustrieren:
EXPLAIN information_schema.parameters;
SELECT * FROM information_schema.parameters;
Dies ist die überarbeitete Lösung:
SELECT parameter_name
FROM information_schema.parameters
WHERE specific_schema = 'my_db'
AND specific_name = 'my_procedure'
ORDER BY ordinal_position
;
parameter_name
-----------------
p_first_param
p_second_param
p_third_param
Wenn Sie sie in einer einzigen Zeile benötigen, GROUP_CONCAT
verwendet werden könnten, um geben Sie Komma-getrennte Namen:
SELECT GROUP_CONCAT(parameter_name) params
FROM information_schema.parameters
WHERE specific_schema = 'my_db'
AND specific_name = 'my_procedure'
ORDER BY ordinal_position
;
params
------------------------------------------
p_first_param,p_second_param,p_third_param
Verwandte Themen
- 1. Abrufen von Elementen aus einer ArrayList durch Angabe der Indizes
- 2. mdDialog.hide() durch Angabe des Klassennamens des md-dialogs
- 3. Parsen der XML durch Angabe der Attributnamen
- 4. Wie durch Angabe der URL dieser Website
- 5. Abrufen des Namens in MySQL
- 6. Drucken auf Drucker durch Angabe des Druckernamens - Javascript
- 7. Angabe der Linienbreite des Legendenrahmens in Matplotlib
- 8. :. (Doppelpunkte in Parameternamen durch zuul gehen Vielleicht
- 9. Daten durch Zeitverschiebungen abrufen - PHP MYSQL
- 10. Einstellung Datumsformat JJJJMMTT durch Angabe Kulturname
- 11. Abrufen einer Warteschlange ohne Angabe aller Eigenschaften
- 12. Angabe des Quellverzeichnisses für Javascript
- 13. Abrufen der Seriennummer des vom Hersteller bereitgestellten Festplattenlaufwerks durch PHP
- 14. Abrufen des SecurityContext-Objekts durch Dependency Injection
- 15. Überprüfen der Parameternamen vom Annotation Processor
- 16. MVC Routing - Parameternamen Frage
- 17. Prototype Parameternamen
- 18. Stacking-Eigenschaften durch Angabe mehrerer Maven-Profile in der Befehlszeile
- 19. JAVA gehen durch die Liste ohne Angabe der Klassenname
- 20. Duplizieren Parameternamen
- 21. In JMP, wie benutzerdefinierte Linie durch Angabe des Kurvennamens? aber durch die Kurve Name
- 22. Abfragezeichenfolge mit Angabe des Begriffs in ElasticSearch
- 23. Pandas: read_csv Angabe ‚durch Leerzeichen getrennte‘
- 24. mysql Suchabfrage durch jede Ziffer des Suchbegriff
- 25. Get Parameternamen von PowerShell-Funktionen
- 26. Oracle hierarchische Abfrage durch Angabe von Stamm-und Blatt-Knoten
- 27. OleDbParameters und Parameternamen
- 28. Die erste Zeile der mysql-Ressourcenzeichenfolge abrufen?
- 29. Schwimmendes zweites Element ohne Angabe der Breite des ersten?
- 30. Angabe des zufälligen Schnitts der Ebene 3 in R
Ich bekomme einen Fehler, dass SELE CT-Befehl für den Benutzer für die Tabelle 'proc' @Zach Victor abgelehnt –
Kavya
Das 'mysql'-Schema ist möglicherweise für Ihren Benutzer nicht zugänglich. Sie müssen dem Anwendungsbenutzer das 'SELECT'-Privileg für das' mysql'-Schema erteilen. –
Vielen Dank .. es funktioniert .. – Kavya