2014-01-09 30 views
-2

我有一個名爲Jobs的表,它涉及另一個名爲clients的表。除非已對客戶表進行了信用檢查和TOB簽名,否則我需要阻止其他用戶在DB上創建的新工作。SQL Server - 停止表中的條目

還有另一個表CC和TOB列以布爾形式存儲。

我只需要讓Jobs表格檢查另一張表格,以確保Client cc和tob = Y,然後才允許創建作業。

任何想法如何?它是約束還是觸發器?

PS不能使用業務規則....(不準)

+1

這是MySQL還是SQL Server?你有兩個標籤? – steoleary

+0

SQL 2008.對不起,我是新來的。我認爲它必須是一個約束,因爲其他用戶使用前端C++小程序來查看數據庫。 – user3177427

回答

0

這是一個簡單的where子句

insert into jobs 
(field1, field2, etc) 
select value1, value2, etc 
where exists 
(subquery to find records of credit checked and tob signed) 

此語法假設您正在使用SQL Server的工作,你不需要從條款。如果你正在使用mysql,那將是:

insert into jobs 
(field1, field2, etc) 
select distinct value1, value2, etc 
from SomeSmallTable 
where exists 
(subquery to find records of credit checked and tob signed) 
+0

不能這樣做,有一個前端小程序,用戶必須看到數據庫。我認爲它必須是桌上的一個限制。 – user3177427