desperado
Goto Top

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

Content-Key: 52523

Url: https://administrator.de/contentid/52523

Printed on: April 23, 2024 at 18:04 o'clock

Member: MadMax
MadMax Feb 24, 2007 at 09:20:22 (UTC)
Goto Top
Hallo Desperado,

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
Member: Desperado
Desperado Feb 24, 2007 at 10:11:31 (UTC)
Goto Top
ach stimmt! nicht den namen in strings, sondern den rest.. richtig ;) danke