Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Befehle aus Tabelle ausführen

Frage Entwicklung Datenbanken

Mitglied: Indrador

Indrador (Level 1) - Jetzt verbinden

03.07.2013 um 14:15 Uhr, 2040 Aufrufe, 6 Kommentare

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.
Mitglied: Bitboy
03.07.2013 um 14:22 Uhr
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.
Bitte warten ..
Mitglied: SlainteMhath
03.07.2013 um 15:00 Uhr
Moin,

nachdem du leider nichts zum Verwendeten SQL Server / Betriebssystem / Programmiersprache verrätst gitbs nur Pseudo-Code

01.
Definiere Cursor als "SELECT ID, Stamente FROM Tabelle ORDER BY ID" 
02.
Durchlaufe Cursor BEGIN 
03.
  Führe_SQL_aus(Cursor->ID) 
04.
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.
Bitte warten ..
Mitglied: Bitboy
03.07.2013 um 15:44 Uhr
@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
Bitte warten ..
Mitglied: SlainteMhath
03.07.2013 um 15:50 Uhr
Bitte sehr:

MS-SQL:
01.
SET @SQL = 'SELECT ...'  
02.
EXEC (@SQL)
MySQL:
01.
SET @s =  'SELECT ..." 
02.
PREPARE stmt FROM @s; 
03.
EXECUTE stmt;
PostgresSQL kann das auch per EXECUTE Statement iirc.
Bitte warten ..
Mitglied: Grinskeks
03.07.2013 um 15:54 Uhr
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
Bitte warten ..
Mitglied: Indrador
03.07.2013 um 16:04 Uhr
Ich danke euch, für die Ansätze, habe es wie SlainteMhath geschrieben hat gelöst.
Bitte warten ..
Ähnliche Inhalte
Windows Server
WBADMIN über SYSTEM ausführen (3)

Frage von banane31 zum Thema Windows Server ...

VB for Applications
gelöst VB Skript für mehrere Batch Befehle (19)

Frage von freshman2017 zum Thema VB for Applications ...

Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Windows 10
Programm während Windows Bootvorgang laden bzw. ausführen (10)

Frage von Marabunta zum Thema Windows 10 ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...