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
Please also mark the comments that contributed to the solution of the article
Content-Key: 52523
Url: https://administrator.de/contentid/52523
Printed on: April 23, 2024 at 18:04 o'clock
2 Comments
Latest comment
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