表的關係,我有一個SQL Server數據庫100桌。每個表都有與Customer
表的關係,每個表有一欄CustomerId
。如何知道存在記錄對SQL Server
如果我嘗試從表中刪除一個客戶,然後我得到一個錯誤。
所以我要檢查每個表,看是否存在該表CustomerId
與否。
這是可能在SQL Server?只返回我是/否,如果記錄存在於其他表中?
表的關係,我有一個SQL Server數據庫100桌。每個表都有與Customer
表的關係,每個表有一欄CustomerId
。如何知道存在記錄對SQL Server
如果我嘗試從表中刪除一個客戶,然後我得到一個錯誤。
所以我要檢查每個表,看是否存在該表CustomerId
與否。
這是可能在SQL Server?只返回我是/否,如果記錄存在於其他表中?
您可以創建小的功能,請檢查是否ID存在與否。
試試這個:
bool IsIdExist(int id)
{
using(SqlConnection con = new SqlConnection("Connection String Here"))
using (SqlCommand command = new SqlCommand("select count(*) from customer where [email protected]", con))
{
command.Parameters.AddWithValue("@id", id);
con.Open();
int rows = Convert.ToInt32(command.ExecuteScalar());
if (rows > 0)
return true;
return false;
}
}
您可以撥打如下上面的函數:
if(IsIdExist(300))
{
//id exists
}
else
{
//id does not exist
}
不,這不是我的要求。我想知道Sql Server的Syntax如何知道關聯表的主鍵參考。如果記錄存在是/否只有 – Salman
@Salman:能否請你用例子說明你的要求? –
我在Sql Server中有100個表。一個表是客戶的表.ok。現在,每個100表中都有CustomerID和Customer與客戶主鍵的關係。假設客戶「ID」爲1且這些ID爲1的客戶通過每個100個表。知道如果我想從Customer運行Qurey Delete,其中CustomerID = 1,則無法刪除它,因爲其關係ID在其他100個表上傳遞。我的問題是,如何知道那裏1 Id傳遞任何關係表只是回報我真實或不簡單:)。但我不喜歡逐個檢查每個talbe – Salman
你會得到什麼錯誤?如果是你選擇級聯關係? – Shell
你可以給我們一個你的表的簡短例子,你到底想要做什麼? –
DELETE語句與REFERENCE約束「FK_FinishMaterialItem_Customer」衝突。衝突發生在數據庫「PakPackages_Live」,表「dbo.FinishMaterialItem」,「CustomerCode」列中。 – Salman