MS SQL Prozedur zum dynamischen Erstellen von Datenbanken
Hallo zusammen,
ich brauche eine Prozedur mit einem dynamischen Übergabeparameter (Ursprung String aus VB.NET), der den späteren Datenbanknamen darstellen soll. Diese Prozedur soll dann eine neue Datenbank anlegen á la
CREATE PROC datenbank_anlegen
@datenbankname varchar(25)
As
CREATE DATABASE...
habe schwierigkeiten mit dem übergabestring...
Danke und Grüsse, Desperado
ich brauche eine Prozedur mit einem dynamischen Übergabeparameter (Ursprung String aus VB.NET), der den späteren Datenbanknamen darstellen soll. Diese Prozedur soll dann eine neue Datenbank anlegen á la
CREATE PROC datenbank_anlegen
@datenbankname varchar(25)
As
CREATE DATABASE...
habe schwierigkeiten mit dem übergabestring...
Danke und Grüsse, Desperado
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 52523
Url: https://administrator.de/forum/ms-sql-prozedur-zum-dynamischen-erstellen-von-datenbanken-52523.html
Ausgedruckt am: 22.12.2024 um 15:12 Uhr
2 Kommentare
Neuester Kommentar
Hallo Desperado,
das geht mit dynamischem SQL, ganz primitiv sieht das dann etwa so aus:
Gruß, Mad Max
das geht mit dynamischem SQL, ganz primitiv sieht das dann etwa so aus:
if IsNull (ObjectProperty (object_id ('DBErstellen'), 'IsProcedure'), 0) = 1 drop procedure DBErstellen
go
create procedure DBErstellen (@Name sysname, @Pfad varchar (1000)) as
declare @sql varchar (4000)
begin
select @sql = 'create database ' + @Name
select @sql = @sql + ' on (name = ' + @Name + '_Daten, filename = ''' + @Pfad + @Name + '_Daten.mdf'')'
select @sql = @sql + ' log on (name = ' + @Name + '_Log, filename = ''' + @Pfad + @Name + '_Log.mdf'')'
exec (@sql)
end
go
Gruß, Mad Max