我有一个生成DDL脚本的工具
create table ATTRIBUTE_VALUE (
id int identity not null,
version int null,
);
create table BADGE (
id int identity not null,
version int null,
cms_ci_ref varchar(255) not null unique,
primary key (id)
);
/* more tables */
请注意,表名不以模式名称为前缀 - 我无法控制它。我想在myschema
中创建这些表,并希望在加载此脚本之前可以执行一些命令,将当前架构设置为myschema
,这样我就可以在不修改的情况下使用DDL。
像......那样的东西。
use myschema;
load ddl;
SQL Server是否提供这样的命令?
答案 0 :(得分:3)
是的,if using a SQL Server login.
ALTER USER ... WITH DEFAULT_SCHEMA = myschema
我的链接注释:
无法为映射到Windows组的用户指定DEFAULT_SCHEMA
如果用户是sysadmin固定服务器角色的成员,则忽略DEFAULT_SCHEMA的值。 sysadmin固定服务器角色的所有成员都具有dbo的默认架构。