那就是 执行完创建数据库的语句之后, 再执行一个建表语句啊!
测试例子如下:
1> CREATE TRIGGER ddl_trig_database
2> ON ALL SERVER
3> FOR CREATE_DATABASE
4> AS
5> BEGIN
6> DECLARE @EventData AS xml;
7> DECLARE @DatabaseName AS varchar(100);
8> DECLARE @Sql NVARCHAR(200);
9>
10> SET @EventData = EVENTDATA();
11>
12> SELECT
13> @DatabaseName = t.c.value('(DatabaseName)[1]', 'varchar(100)' )
14> FROM
15> @EventData.nodes('/EVENT_INSTANCE') t(c);
16>
17> PRINT 'Database Created.'
18>
19> SET @Sql =
20> 'CREATE TABLE ' + @DatabaseName + '.dbo.abc( a INT )' ;
21> PRINT @Sql;
22> EXEC (@Sql);
23>
24> END
25> GO
1> create database test2
2> go
Database Created.
CREATE TABLE test2.dbo.abc( a INT )
1> use test2
2> go
已将数据库上下文更改为 'test2'。
1> select * from abc
2> go
a
-----------
(0 行受影响)
注意:
如果查询 提示 QUOTED_IDENTIFIER 异常,那么执行下面的语句。
1> SET QUOTED_IDENTIFIER ON
2> go
ctreate database tttt;
use tttt;
create table xxxx.............
首先把这个表建立在MODEL数据库下,那么你下次创建数据的时候就可以有那张表了
这个总是不能回答啊!