⑴ 求sqlserver2005高人解決。。。
外鍵約束操作如下
create table a(id int primary key,name char(6) not null);
create table b(id int foreign key references a(id));
你的貨號為整數類型,不能顯示為001,應該設置為字元型,就可以了,但是你要想數據可以加減的話,在操作中就要使用數據類型轉換了。
⑵ sqlserver2005一張表怎麼建多個外鍵
ALTER TABLE 表
ADD CONSTRAINT 約束名字
FOREIGN KEY (表的欄位) REFERENCES 另外一個表;
例如:
ALTER TABLE test_sub ADD CONSTRAINT main_id_cons FOREIGN KEY (main_id) REFERENCES test_main;
建多個外鍵, 就不同的欄位,多指向幾個表就行。
⑶ 在SQLserver里的表裡添加外鍵(不是通過語句),怎麼設置為不能為空
不知道你這個 允許為空的建外鍵 是什麼意思.
不知道是不是指:
-- 創建外鍵(使用 ON DELETE SET NULL 選項,刪除主表的時候,同時將子表的 main_id 設置為 NULL)
ALTER TABLE test_sub
ADD CONSTRAINT main_id_cons
FOREIGN KEY (main_id) REFERENCES test_main ON DELETE SET NULL;
⑷ 在資料庫(sqlserver2005)中有兩張表,其中一張表中有外鍵,我要向另一張表中插入數據,怎麼弄呀
首先要保證外鍵里的數據在主表中有值,就是說你如果要在外鍵表中插入值,就必須確保主鍵表中的那個外鍵欄位中有那個值。舉個例子:假設tb_bookCatalog表(圖書類別表)是主表,主鍵是bookCatalogID,外鍵是bookID,tb_book(圖書表)表是外鍵表,此表的主鍵是bookID(就是tb_bookCatalog表的外鍵)。那麼只有tb_bookCatalog表(圖書類別表)的bookID里有數據了,tb_book(圖書表)表如果的主鍵的數據就只能是tb_bookCatalog表(圖書類別表)的bookID里的那些數據。如果不是,就會包主外鍵錯誤。
⑸ sqlserver2005中如何查看某一表跟哪張表有主外鍵關系 可以看到就行
1簡單的方法看「資料庫關系圖」
2從系統表
select fk.*
,obj.name --外鍵名
,obj2.name --外鍵表
,obj3.name --主鍵表
from sysforeignkeys fk inner join sysobjects obj on fk.constid=obj.id
inner join sysobjects obj2 on fk.fkeyid = obj2.id
inner join sysobjects obj3 on fk.rkeyid = obj3.id
order by obj2.name
⑹ SQLSERVER外鍵約束
當然了,外鍵就是為了保證資料庫的參照完整性的,如果外鍵表插入的數據沒有在主表有相應的主鍵存在,是不可能成功的。
⑺ 在SQLSERVER2005中添加外鍵(不是用SQL語句,用的界面操作),提示錯誤 ALTER TABLE語句與FOREIGN KEY約束
是添加的外鍵數據格式不一樣嗎?外鍵的數據格式一定要相同的。
⑻ sqlserver2005資料庫 給表自增列如何創建帶標識的自增ID
用計算列或用函數或觸發器
如:
Create table test(ID int identity(1,1),Code as 'BH'+right(1000000+ID,5),Cid int)
⑼ sqlserver2005如何建立外鍵
我不太記得了,好象關鍵字是extern,在定義和調用時要在鍵名的前面用extern聲明,建議你去查查有關資料庫的書,應該會講得很清楚
⑽ mysql語句轉換為sqlserver2005語句
SQL Server 的語法如下:
ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT }
指定如果已創建表中的行具有引用關系,並且被引用行已從父表中刪除,則對這些行採取的操作。默認值為 NO ACTION。
NO ACTION
資料庫引擎將引發錯誤,並回滾對父表中行的刪除操作。
CASCADE
如果從父表中刪除一行,則將從引用表中刪除相應行。
SET NULL
如果父表中對應的行被刪除,則組成外鍵的所有值都將設置為 NULL。若要執行此約束,外鍵列必須可為空值。
SET DEFAULT
如果父表中對應的行被刪除,則組成外鍵的所有值都將設置為默認值。若要執行此約束,所有外鍵列都必須有默認定義。如果某個列可為空值,並且未設置顯式的默認值,則將使用 NULL 作為該列的隱式默認值。
MySQL 裡面的 on delete restrict
切換到 SQL Server , 可以切換為 ON DELETE NO ACTION
也可以不寫,因為 默認值為 NO ACTION。