2017-06-09 3 views
0

Ich habe ein Perl-Skript, durch das ich eine gespeicherte Prozedur ausführen (Sybase db). In demselben Perl-Skript lese ich Datensätze aus einer .csv-Datei. irgendwie möchte ich diese Aufzeichnungen in meiner gespeicherten Prozedur erhalten. Gibt es sowieso ich kann dies tun, ohne diese Datensätze auf eine neue Tabelle in db zu schreiben.Kann ich eine temporäre Tabelle in einem Perl-Skript erstellen und auf sie in der gespeicherten Prozedur zugreifen?

Ich dachte an eine temporäre Tabelle. Kann ich eine temporäre Tabelle in einem Perl-Skript erstellen und auf sie in der gespeicherten Prozedur zugreifen?

+2

Wenn Sie es über SQL tun können, können Sie es sicher von Perl aus tun. – simbabque

Antwort

2

Ich bin Ihre gespeicherte Prozedur unter der Annahme arbeitet auf mehreren Datenzeilen (sonst könnte man die proc einmal für jede Zeile von Daten nennen) so FWIW ...


Einige Grundlagen ....

Eine temporäre Tabelle (Präfix '#') ist der Anmeldesitzung zugeordnet, die sie erstellt.

Solange die Anmeldesitzung aktiv bleibt, bleibt die Tabelle #temp verfügbar (vorausgesetzt, Sie geben keine 'drop table' aus).

Wenn die Anmeldesitzung beendet wird, verschwindet die temporäre Tabelle.

Auf die temporäre Tabelle kann nicht durch eine andere Anmeldesitzung zugegriffen werden.


Ihr Perl-Skript erstellen können soll, bevölkern und die temporäre Tabelle abfragen, solange die Perl-Skript die gleiche Anmeldesitzung (aka-Verbindung) verwendet, um alle Aktionen auszuführen (create table, einfügen, wählt) gegen die temporäre Tabelle.

Ihr gespeicherter Prozess muss auch in derselben Anmeldesitzung aufgerufen werden, wenn er auf die temporäre Tabelle zugreifen soll.

Verwandte Themen