ошибка '' в базах данных уже есть имя объекта '' - PullRequest
0 голосов
/ 08 апреля 2019

Можете ли вы помочь мне исправить ошибку

В базе данных уже есть имя объекта

Мой код:

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 голосов
/ 08 апреля 2019

Проблема заключается в следующем:

CREATE TABLE DIEMTHAMQUAN

Вы используете одно и то же имя для «Базы данных» и сохраняете то же имя в «таблице».Если в будущем вы будете называть это «DIEMTHAMQUAN», как Sql-Server (если вы используете это) будет знать, что вы ссылаетесь на базу данных или таблицу.

Возможное решение - назвать вашу таблицу 'tblDIEMTHAMQUAN'.

...