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

Antwort per Email an