Mittels Batch verschiedene Textabschnitte extrahieren und daraus eine neue Datei aufbauen
Guten Tag!
Hallo,
ich habe folgende Problemstellung.
Ich möchte mittels Batch aus verschiedenen SQL CREATE TABLE Aufrufen endsprechende StoredProcedures generieren.
Aus dem Ihnalt meiner Beispieldatei "Meine_Tabellen.SQL",
sollen zwei Dateien entstehen deren Name sich aus dem Namen der jeweiligen Tabelle zusammensetzt. Z.B. "update_Meine_SpeedList.sql"
Ihr Ihnalt soll folgendermaßen aussehen:
Einen Teil meinses Problems konnte ich bereits mittels
lösen. Wie ihr seht, fehlt mir noch einiges wie z.B. das extrahieren der einzeilen Parameter identifier, speed etc.
Kann mir vielleicht jemand auf die Sprünge helfen?
Danke und einen schönen, wenn auch kalten, Tag!
Hallo,
ich habe folgende Problemstellung.
Ich möchte mittels Batch aus verschiedenen SQL CREATE TABLE Aufrufen endsprechende StoredProcedures generieren.
Aus dem Ihnalt meiner Beispieldatei "Meine_Tabellen.SQL",
CREATE TABLE Meine_SpeedList (
id int IDENTITY(1,1) NOT NULL,
identifier varchar(80) NULL,
speed int DEFAULT 0 NULL,
listId int NULL
)
;
CREATE TABLE Meine_SpeedList 2 (
id int IDENTITY(1,1) NOT NULL,
identifier varchar(80) NULL,
speed int DEFAULT 0 NULL,
listId int NULL
)
;
sollen zwei Dateien entstehen deren Name sich aus dem Namen der jeweiligen Tabelle zusammensetzt. Z.B. "update_Meine_SpeedList.sql"
Ihr Ihnalt soll folgendermaßen aussehen:
CREATE PROCEDURE update_Meine_SpeedList (
@identifier varchar(80),
@speed int,
@listId int,
@index int,
@return_code int=0 OUTPUT ) AS
update Meine_SpeedList
SET
identifier = @identifier,
speed = @speed,
listId = @listId,
where id = @index
select @return_code = @@ERROR
go
// gleiches für update_Meine_SpeedList2
Einen Teil meinses Problems konnte ich bereits mittels
@echo off
setlocal enabledelayedexpansion
set ORDNERNAME=NeuerOrdner
for /f "delims=" %%i in ('dir /a:-d /b *.SQL') do (
for /f "tokens=3" %%j in ('findstr /C:"CREATE TABLE" %%i') do (
if exist %ORDNERNAME%\update_%%j.sql del %ORDNERNAME%\update_%%j.sql
echo CREATE PROCEDURE update_%%j ( >> %ORDNERNAME%\update_%%j.sql
echo update %%j >> %ORDNERNAME%\update_%%j.sql
echo SET >> %ORDNERNAME%\update_%%j.sql
)
)
lösen. Wie ihr seht, fehlt mir noch einiges wie z.B. das extrahieren der einzeilen Parameter identifier, speed etc.
Kann mir vielleicht jemand auf die Sprünge helfen?
Danke und einen schönen, wenn auch kalten, Tag!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 156012
Url: https://administrator.de/contentid/156012
Ausgedruckt am: 19.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar