我遇到了SQL插入到/ select的問題。INSERT INTO/SELECT ONLY INSERTS ONE ROW
INSERT INTO TBLPMHISTORY(RELEQUIPMENTID,DTETHISPMDUE,STRCAMPUS,STRROOM)
(SELECT INTEQUIPMENTID,DTEPMDATENEXTDUE,STRCAMPUS,STRROOM
FROM TBLEQUIPMENT
WHERE DTEPMDATENEXTDUE BETWEEN GETDATE() AND DATEADD("DAY",21,GETDATE()))
似乎只插入一行到新表,但是當我運行它自己的語句的SELECT部分,它回來了84行。
我不確定是否有限制大容量插入的東西,但任何幫助將不勝感激。
的代碼來創建PMHISTORY表如下:
CREATE TABLE TBLPMHISTORY(
INTPMHISTORYID INT NOT NULL PRIMARY KEY IDENTITY,
RELEQUIPMENTID INT NOT NULL FOREIGN KEY REFERENCES TBLEQUIPMENT(INTEQUIPMENTID),
STRDESCRIPTION VARCHAR(64) DEFAULT 'Preventative Maintenance',
DTETHISPMDUE DATETIME,
YSNPMDONE BIT DEFAULT '0',
YSNPMCONVERTEDTOJOB BIT DEFAULT '0',
INTRELATEDJOBNUMBER INT DEFAULT '0',
STRCAMPUS VARCHAR(30),
STRROOM VARCHAR(30))
CREATE UNIQUE NONCLUSTERED INDEX [IX_PMHistory_DTETHISPMDUE] ON TBLPMHISTORY(DTETHISPMDUE) WITH (IGNORE_DUP_KEY = ON) ON [PRIMARY]
你沒有收到任何錯誤嗎?你有任何一種獨特的限制或密鑰,可以防止'TBLPMHISTORY'上可能的重複值? – 2013-04-09 04:05:36
有觸發器嗎? – 2013-04-09 04:05:40
這裏沒有任何觸發器。我已經把我用來創建PMHistory表的代碼放在上面。它有一個獨特的非聚集索引來防止重複,啊......這是問題,因爲它們都有相同的PMDUEDATE,這是約束是....我可以使用非聚集索引的兩個字段的約束? – 2013-04-09 06:13:26