错误“数据库中已经存在对象名称”

时间:2019-04-08 03:21:28

标签: sql-server ddl

能帮我解决错误

  

数据库中已经有一个对象名称

我的代码:

CREATE DATABASE DIEMTHAMQUAN

USE DIEMTHAMQUAN


CREATE TABLE QUOCGIA
(
    MAQG NCHAR(5) NOT NULL,
    TENQG NCHAR(20) NULL,
    TD NCHAR(5) NOT NULL,
    DS INT NULL,
    DT REAL NULL
    CONSTRAINT PK_QUOCGIA PRIMARY KEY(MAQG,TD)
)

CREATE TABLE TINHTHANH
(
    MATT NCHAR(5) NOT NULL,
    QG NCHAR(5) NULL,
    DS INT NULL,
    DT REAL NULL,
    TENTT NCHAR(30) NULL
    CONSTRAINT PK_TINHTHANH PRIMARY KEY(MATT)
)

CREATE TABLE DIEMTHAMQUAN
(
    MADTQ NCHAR(10) NOT NULL,
    TENDTQ NCHAR(30) NULL,
    TT NCHAR(5) NULL,
    QG NCHAR(5) NULL,
    DD NCHAR(50) NULL
    CONSTRAINT PK_DIEMTHAMQUAN PRIMARY KEY(MADTQ)
)

ALTER TABLE TINHTHANH 
    ADD CONSTRAINT FK_TT_QG FOREIGN KEY(QG) REFERENCES QUOCGIA(MAQG)
ALTER TABLE DIEMTHAMQUAN 
    ADD CONSTRAINT FK_DTQ_TT FOREIGN KEY(TT) REFERENCES TINHTHANH(MATT)

--insert QUOCGIA(MAQG,TENQG,TD,DS,DT) 
INSERT INTO QUOCGIA(MAQG, TENQG, TD, DS, DT) 
VALUES (N'QG001', N'VIỆT NAM', N'TT001', CAST(N'115000000' AS INT), CAST(N'331688.00' AS REAL)),
       (N'QG002', N'NHẬT BẢN', N'TT003', CAST(N'129500000' AS INT), CAST(N'337834.00' AS REAL))


--insert  TINHTHANH(QG,MATT,TENTT,DS,DT)
INSERT INTO TINHTHANH(QG, MATT, TENTT, DS, DT) 
VALUES (N'QG001', N'TT001', N'HÀ NỘI', CAST(N'2500000' AS INT), CAST(N'927.39' AS REAL)),
       (N'QG001', N'TT002', N'HUẾ', CAST(N'5344000' AS INT), CAST(N'5009.00' AS REAL)),
       (N'QG002', N'TT003', N'TOKYO', CAST(N'12084000' AS INT), CAST(N'2187.00' AS REAL))

1 个答案:

答案 0 :(得分:0)

问题出在这里:

CREATE TABLE DIEMTHAMQUAN

您在“数据库”中使用了相同的名称,并且在“表”中使用了相同的名称。如果将来将其称为“ DIEMTHAMQUAN”,那么Sql-Server(如果正在使用)将如何得知您正在引用数据库或表。

可能的解决方案是将表命名为“ tblDIEMTHAMQUAN”。