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-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

MadMax
MadMax 24.02.2007 um 10:20:22 Uhr
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
Desperado
Desperado 24.02.2007 um 11:11:31 Uhr
Goto Top
ach stimmt! nicht den namen in strings, sondern den rest.. richtig ;) danke