Befehle aus Tabelle ausführen
Hallo,
ich habe eine Frage und zwar:
Es gibt bei mir eine Tabelle (ID, Statement), in der täglich SQL Statements drinstehen.
Diese müssen auf dem Server ausgeführt werden. Wie kann ich die einzelnen
Statements Zeile für Zeile nacheinander aufrufen?
Tabelle:
ID Statement
1 Insert into ....
2 Delete from....
3 Create ....
Ich hoffe man versteht aus meiner Frage, was ich meine.
Es ist kein Problem, das sich mit Replikation o.Ä. lösen lässt.
Ich danke für eure Antworten.
ich habe eine Frage und zwar:
Es gibt bei mir eine Tabelle (ID, Statement), in der täglich SQL Statements drinstehen.
Diese müssen auf dem Server ausgeführt werden. Wie kann ich die einzelnen
Statements Zeile für Zeile nacheinander aufrufen?
Tabelle:
ID Statement
1 Insert into ....
2 Delete from....
3 Create ....
Ich hoffe man versteht aus meiner Frage, was ich meine.
Es ist kein Problem, das sich mit Replikation o.Ä. lösen lässt.
Ich danke für eure Antworten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 209045
Url: https://administrator.de/contentid/209045
Ausgedruckt am: 25.11.2024 um 22:11 Uhr
6 Kommentare
Neuester Kommentar
Das erste was mir einfällt ist ein Programm zu schreiben, dass die Tabelle ausliest und die SQL-Statements anschliessend einfach ausführt.
Jetzt ist natürlich die Frage wie gut und in welcher Sprache deine Programmierkenntnisse sind.
Ein SQL Befehl der aus einer Tabelle andere SQL Befehle ausführt ist mir unbekannt falls du das gemeint haben solltest.
Jetzt ist natürlich die Frage wie gut und in welcher Sprache deine Programmierkenntnisse sind.
Ein SQL Befehl der aus einer Tabelle andere SQL Befehle ausführt ist mir unbekannt falls du das gemeint haben solltest.
Moin,
nachdem du leider nichts zum Verwendeten SQL Server / Betriebssystem / Programmiersprache verrätst gitbs nur Pseudo-Code
lg,
Slainte
PS:
@Bitboy
nachdem du leider nichts zum Verwendeten SQL Server / Betriebssystem / Programmiersprache verrätst gitbs nur Pseudo-Code
Definiere Cursor als "SELECT ID, Stamente FROM Tabelle ORDER BY ID"
Durchlaufe Cursor BEGIN
Führe_SQL_aus(Cursor->ID)
END
lg,
Slainte
PS:
@Bitboy
Ein SQL Befehl der aus einer Tabelle andere SQL Befehle ausführt ist mir unbekannt
Dann hast du dich noch nicht mit dem SQL Server deiner Wahl beschaäftig.
@SlainteMhath
Stimmt so eine Anforderung hatte ich auch bis jetzt noch nicht.
Wäre aber mal intressant wenn du ein Beispiel für so einen SQL Befehl geben könntest. Ich lern ja gerne was dazu
Stimmt so eine Anforderung hatte ich auch bis jetzt noch nicht.
Wäre aber mal intressant wenn du ein Beispiel für so einen SQL Befehl geben könntest. Ich lern ja gerne was dazu
Hallo,
folgendes kann ich empfehlen:
Declare @sql nvarchar(1000)
SET @sql = 'Select count(*) from Artikel'
EXEC sys.sp_executesql @sql
Hintergrund:
Zum Ausführen einer Zeichenfolge sollte die gespeicherte Prozedur sp_executesql anstelle der EXECUTE-Anweisung verwendet werden. Die gespeicherte Prozedur sp_executesql ist aufgrund der Unterstützung der Parameterersetzung nicht nur flexibler als EXECUTE, sondern auch insofern effizienter, da sp_executesql Ausführungspläne generiert, die SQL Server 2005 mit größerer Wahrscheinlichkeit wiederverwende
Zu beachten: Sind in den SQL Statements der Tabelle einfache Hochkommata vorhanden, sind diese zu verdoppeln, damit das Statement korrekt geparsed wird.
Gruss
Grinskeks
folgendes kann ich empfehlen:
Declare @sql nvarchar(1000)
SET @sql = 'Select count(*) from Artikel'
EXEC sys.sp_executesql @sql
Hintergrund:
Zum Ausführen einer Zeichenfolge sollte die gespeicherte Prozedur sp_executesql anstelle der EXECUTE-Anweisung verwendet werden. Die gespeicherte Prozedur sp_executesql ist aufgrund der Unterstützung der Parameterersetzung nicht nur flexibler als EXECUTE, sondern auch insofern effizienter, da sp_executesql Ausführungspläne generiert, die SQL Server 2005 mit größerer Wahrscheinlichkeit wiederverwende
Zu beachten: Sind in den SQL Statements der Tabelle einfache Hochkommata vorhanden, sind diese zu verdoppeln, damit das Statement korrekt geparsed wird.
Gruss
Grinskeks