Prozedur? mit mehreren SELECT INTO und UPDATE SQL

spgo2012

Neuer Benutzer
Beiträge
3
Hi zusammen,

ich möchte ein Skript schreiben, welches mehrere SELECT INTO und UPDATE SQL zusammenfasst.
Das Ziel ist quasi mehrere Daten innerhalb einer Tabelle regelmäßig anzureichern bzw. zu aktualisieren. Die Quelldaten stammen aus einer externen Datenbank welche per Link angebunden ist. Teils werden diese nochmals summiert und gruppiert oder verkettet oder auch direkt durchgeschleift (abhängig von der jeweiligen Spalte).

Der Ablauf wäre in etwa wie folgt:

Erster Schritt:
SELECT x,y
INTO #tab_temp
FROM externe_Tabellen

UPDATE tab1
SET ....
FROM tab1 INNER JOIN #tab_temp

Zweiter Schritt:
SELECT x,y
INTO #tab_temp_Bereich_A
FROM externe_Tabellen

SELECT x,y
INTO #tab_temp_BereichA_2
FROM #tab_temp_BereichA

UPDATE tab1
SET ....
FROM tab1 INNER JOIN #tab_temp_BereichA_2

Dritter Schritt:
SELECT x,y
INTO #tab_temp_Bereich_B
FROM externe_Tabellen

SELECT x,y
INTO #tab_temp_BereichB_2
FROM #tab_temp_BereichB

UPDATE tab1
SET ....
FROM tab1 INNER JOIN #tab_temp_BereichB_2


Nun meine Fragen:
Geht das generell in der Form zusammengefasst in einem Skript als Prozedur? Oder kann ich keine SELECT INTO in einer Prozedur verwenden?
Oder gibt es vielleicht einen eleganteren Ansatz?

Vielen Dank im Voraus :)
 
Werbung:
Also mit Stored Procedures würde es nicht gehen weil sie zum einen (glaube ich) keine Daten schreiben können, nur zurück geben, und zum Andern weil du sie ja auch aufrufen musst. Eigentlich ist es auch unnötig, du musst nur einen Weg finden SQL Code zeitgesteuert ausführen zu lassen.

Ich stand auch schon vor der Aufgabe, leider bin noch nicht so weit das die Daten Importiert werden könnten.

Es gibt auch Tools dafür: MS SQL 2005 bietet DTS, das kann soetwas automatisieren, läuft aber nicht (autmatisiert) in der Express Edition. Welche SQL Version hast du denn?
 
Microsoft SQL Server Management Studio 10.50.1600.1 für MS-SQL Server 2008 R2
Das Tool ist aber auch die kostentlose Variante. Server sollte kostenpflichtig sein.
 
Ich glaube ich habe die Lösung gefunden:

SELECT
INTO
...;
GO

usw.

Vielen Dank ukulele für den Tipp, dass ich die Prozeduren gar nicht brauche, somit konnte ich mir relativ einfach eine "Batch"-Skript erstellen.
 
Werbung:
Zurück
Oben