我有3个数据库sytemdatabases
,smoketest
和learnqueries
。
每次编写和执行create table query (create table tablename (colname datatype(size)))
时,都会在systemdatabases
中创建一个新表。
我需要将它创建为smoketest数据库。
我尝试了这个查询(create table smoketest.newtablename(number int,name varchar(50));
It is showing an error (Msg 2760, Level 16, State 1, Line 1
指定的模式名称“smoketest”或者不存在,或者您没有权限使用它。)当我执行它时。
它说有2次机会
请帮忙
答案 0 :(得分:10)
USE smoketest
GO
create table newtablename(number int,name varchar(50));
如果您有权限问题,请查看此SQL Server 2008: how do I grant privileges to a username?
希望这有帮助。
答案 1 :(得分:9)
表的SQL Server中的4 part 'dot' notation是
Server.Database.Schema.Object
因此,如果smoketest
不是您连接上的当前数据库,则需要创建至少包含3个部分的表格,例如:如果您在master
,并假设您想要架构dbo
中的新表:
create table smoketest.dbo.Tablename(ID INT)
或者,切换到smoketest
数据库并使用1或2部分命名创建表:
use smoketest
GO
create table dbo.Tablename(ID INT)
GO