Hallo Liste,
ich habe als SQL-2k Anf�nger noch ein bischen Probleme mit dem TSQL-Scripts.
eigentlich m�chte ich eine Datenbank mit einem Script anlegen. Das ganze
stell' ich mir dann wie unten aufgelistet vor.
Mal ganz davon abgesehen, da� es mir noch nicht gelungen ist, Variable
@DBS_Name in die Anweisung "USE test" reinzusetzen, bricht das Script bei
Ausf�hrung des Befehls "CREATE DEFAULT ..." mit dem Hinweis, da� dieser
Befehl der 1. zu sein hat ab. Wenn ich aber nun vorher ein "GO" einf�ge,
funktioniert der Befehl "GOTO Scriptende" nicht mehr.
Gibt's da vielleicht irgendeine L�sung ?
mfg - dieter
USE master
DECLARE @DBS_Name varchar(25)
DECLARE @DBS_DataName varchar(25)
DECLARE @DBS_LogName varchar(25)
DECLARE @DBS_Dir varchar(520)
DECLARE @ERR_Return integer
SET @DBS_Name = N'test'
SET @DBS_DataName = @DBS_Name + N'data.mdf'
SET @DBS_LogName = @DBS_Name + N'_log.ldf'
SELECT @DBS_Dir = Substring(phyname, 1, CharIndex(N'master.mdf',
Lower(phyname)) - 1)
FROM master.dbo.sysdevices
WHERE (name = N'master')
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = @DBS_Name)
BEGIN
EXECUTE('DROP DATABASE [' + @DBS_Name + ']')
SET @ERR_Return = @@Error
IF @ERR_Return <> 0 BEGIN
PRINT '*** Fehler: ' + CAST(@ERR_Return AS varchar) + '; Datenbank
konnte nicht angelegt werden!'
GOTO Scriptende
END
END
EXECUTE('CREATE DATABASE [' + @DBS_Name+ ']' +
' ON (NAME = N''' + @DBS_DataName + ''',' +
' FILENAME = N''' + @DBS_Dir + @DBS_DataName +
''',' +
' SIZE = 1,' +
' FILEGROWTH = 100%)' +
' LOG ON (NAME = N''' + @DBS_LogName + ''',' +
' FILENAME = N''' + @DBS_Dir + @DBS_LogName +
''',' +
' SIZE = 1,' +
' FILEGROWTH = 100%)' +
' COLLATE Latin1_General_BIN')
EXECUTE sp_dboption @DBS_Name, N'autoclose', N'false'
EXECUTE sp_dboption @DBS_Name, N'bulkcopy', N'false'
EXECUTE sp_dboption @DBS_Name, N'trunc. log', N'false'
EXECUTE sp_dboption @DBS_Name, N'torn page detection', N'true'
EXECUTE sp_dboption @DBS_Name, N'read only', N'false'
EXECUTE sp_dboption @DBS_Name, N'dbo use', N'false'
EXECUTE sp_dboption @DBS_Name, N'single', N'false'
EXECUTE sp_dboption @DBS_Name, N'autoshrink', N'false'
EXECUTE sp_dboption @DBS_Name, N'ANSI null default', N'false'
EXECUTE sp_dboption @DBS_Name, N'recursive triggers', N'false'
EXECUTE sp_dboption @DBS_Name, N'ANSI nulls', N'false'
EXECUTE sp_dboption @DBS_Name, N'concat null yields null', N'false'
EXECUTE sp_dboption @DBS_Name, N'cursor close on commit', N'false'
EXECUTE sp_dboption @DBS_Name, N'default to local cursor', N'false'
EXECUTE sp_dboption @DBS_Name, N'quoted identifier', N'false'
EXECUTE sp_dboption @DBS_Name, N'ANSI warnings', N'false'
EXECUTE sp_dboption @DBS_Name, N'auto create statistics', N'true'
EXECUTE sp_dboption @DBS_Name, N'auto update statistics', N'true'
USE test
CREATE DEFAULT [udf_BigBang] AS '01.01.1753'
CREATE DEFAULT [udf_BigNirwana] AS '31.12.9999 23:59:59'
CREATE DEFAULT [udf_Boolean_False] AS 0
CREATE DEFAULT [udf_Boolean_True] AS 1
CREATE DEFAULT [udf_Currenttime] AS GetDate()
CREATE DEFAULT [udf_SmallBang] AS '01.01.1900'
CREATE DEFAULT [udf_SmallNirwana] AS '06.06.2079 23:59:59'
CREATE DEFAULT [udf_String_Undef] AS '-'
CREATE DEFAULT [udf_Zero] AS 0
EXECUTE sp_addtype N'udt_LfdNr', N'int', N'Not Null'
EXECUTE sp_addtype N'udt_LinkId', N'int', N'Not Null'
EXECUTE sp_bindefault N'[udf_Zero]', N'[udt_LinkId]'
-- CREATE TABLE ...
-- Schl�ssel
-- Beziehungen
-- etc.
Scriptende:
PRINT 'Ready.'
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.510 / Virus Database: 307 - Release Date: 14.08.2003
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.510 / Virus Database: 307 - Release Date: 14.08.2003
_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp