2010-11-26 43 views
0

我正在使用sql server 2008管理工作室。我試圖創建兩個看似簡單的表,但繼續執行時出現此錯誤。我試圖將這些表的名稱改爲許多不同的變體。沒有任何幫助。下面是我輸入的內容。MSG 2714有一個對象已經命名爲

USE POS410; 
go 

CREATE TABLE [empl] 
(
employeeID INT NOT NULL, 
lname VARCHAR(15) NOT NULL, 
fname VARCHAR(15) NOT NULL, 
address VARCHAR(20) NOT NULL, 
city VARCHAR(15) NOT NULL, 
state VARCHAR(10) NOT NULL, 
areacode INT NOT NULL, 
tnumber INT NOT NULL, 
EEO1classification VARCHAR(10) NOT NULL, 
hiredate DATE NOT NULL, 
salary INT NOT NULL, 
gender VARCHAR(1) NOT NULL, 
age INT NOT NULL, 
clocknumb INT NOT NULL, 
PRIMARY KEY(employeeID), 
UNIQUE(employeeID), 
UNIQUE(clocknumb), 
FOREIGN KEY(clocknumb) REFERENCES [jb_ttl](Empnum), 
); 
go 

CREATE TABLE [jb_ttl] 
(
EEO1 VARCHAR(10) NOT NULL, 
JobTitle VARCHAR(15) NOT NULL, 
JobDscrpt TEXT NOT NULL, 
ExemptNonExemptStatus VARCHAR NOT NULL, 
Empnum INT NOT NULL, 
PRIMARY KEY (Empnum), 
); 
go 

以下是錯誤報告

+0

當你縮小問題的範圍時會發生什麼?也許只能創建一個表?也許留下一些列? – 2010-11-26 21:32:51

+2

對不起,錯誤報告在哪裏? – Brandon 2010-11-26 21:36:05

+1

完整的錯誤信息會有幫助。 – Donnie 2010-11-26 21:36:47

回答

1

我要說的是,你已經嘗試運行此腳本超過一次。它第一次失敗了,因爲你試圖用第二個外鍵創建第一個表,而第二個表還沒有存在。我使用「沒有」這個詞,因爲如果我的猜測是正確的,現在確實如此,這就是爲什麼你得到的對象已經存在的錯誤。

作爲一個備註,SQL支持包裝DDL(創建/修改對象)至少回到2005年。我通常在事務中包裝表更改,並且不會提交事務,直到所有事情都沒有發生錯誤消息。

0

給這個運行確認是否jb_ttl已經存在:

select * from master.dbo.sysobjects where [name] = 'jb_ttl' 

會告訴你,如果命名jb_ttl ANB對象已經存在。也許它已經作爲一個程序或觸發器存在?

相關問題