我有一個表[Name Table]
和關聯表workSchedule
。我使用Hibernate 3.6.7.Final來生成我的查詢。其結果是:爲什麼我在SQL Server 2005 Management Studio中的更新查詢不能用作Java中的Prepared Query?
update Personnel.dbo.[Name Table] set workSchedule=? where [Name IRC]=?
哪拋出異常:
11-22 @ 10:30:41 WARN [] JDBCExceptionReporter - SQL錯誤:8624,SQLSTATE:S0001
11-22 @ 10: 30:41錯誤[] JDBCExceptionReporter - 內部查詢處理器錯誤:查詢處理器無法生成查詢計劃。有關更多信息,請聯繫客戶支持服務。
[Name Table].workSchedule
是一個外鍵這樣定義:
ALTER TABLE [Name Table] ADD workSchedule VARCHAR(34)
FOREIGN KEY REFERENCES workSchedule(id);
workSchedule.id
這樣定義:
CREATE TABLE workSchedule
(/* format = letter-days-lunch EX: A-5-1 */
id AS CASE lunch
WHEN 1 THEN scheduleLetter+'-'+CONVERT(VARCHAR, scheduleDays)+'-'+'1'
ELSE scheduleLetter+'-'+CONVERT(VARCHAR, scheduleDays)+'-'+'5'
END PERSISTED NOT NULL,
/* rest of table follows */
);
如果我複製粘貼直接對上述更新查詢到SSMS和插值?它的工作。
UPDATE:
我只是想改變出表WorkSchedule
的一個INT IDENTITY列的主鍵。我離開時重命名爲id
以換班,否則將它留在桌面上作爲列。我也更新了POJO和.hbm.xml文件。更新查詢仍然失敗,具有相同的例外情況。