SQL Server:创建错误如何使用表名写入数据库名称

时间:2012-08-12 16:22:50

标签: sql sql-server-2008

CREATE DATABASE agom COLLATE Arabic_CI_AS
CREATE TABLE Branches
(
ID INT PRIMARY KEY NOT NULL IDENTITY,
NAME VARCHAR(255) NOT NULL
)

CREATE TABLE agom.Brands
(
ID INT PRIMARY KEY NOT NULL IDENTITY,
NAME VARCHAR(255) NOT NULL
) 

CREATE TABLE agom.Work_Order
(
NUMBER INT NOT NULL,
BRANCHID INT NOT NULL,
BRANDID INT NOT NULL,
WDATE DATE NOT NULL,
REPAIRSTATUS VARCHAR(255),
REPAIRCOST VARCHAR(255),
REMARK VARCHAR(500),
PRIMARY KEY (NUMBER,BRANCHID,BRANDID)
)
CREATE TABLE agom.Profiles
(
ID INT PRIMARY KEY NOT NULL IDENTITY,
USERNAME    VARCHAR(25) NOT NULL,
PASS        VARCHAR(25) NOT NULL
 )
 ALTER TABLE agom.Work_Order
 ADD CONSTRAINT branchfk
 FOREIGN KEY (BRANCHID) REFERENCES Branches(ID)

 ALTER TABLE agom.Work_Order
 ADD CONSTRAINT brandfk
 FOREIGN KEY (BRANDID) REFERENCES Brands(ID)

我收到一个无法创建表的错误 我尝试使用表名db.tablename编写数据库名称,但它不起作用 我需要创建数据库然后创建表及其约束,但我不知道错误在哪里。我是一个sql noob

1 个答案:

答案 0 :(得分:2)

永远不会Database.Table

可以是TableSchema.TableDatabase.Schema.TableServer.Database.Schema.Table

您可能只想在create database之后插入USE agom,然后只按名称引用表格。

或者,您可以将表引用为agom.dbo.Work_Orderdbo作为默认数据库架构。

请参阅Using Identifiers As Object Names以获取一般参考。