當前位置:首頁 » 編程語言 » sql設置

sql設置

發布時間: 2023-02-21 21:31:36

1. sql怎麼設置外鍵

sql server中建立外鍵約束有3中方式:enterprise manager中,tables,design table,設置table的properties,可以建立constraint, reference key;enterprise manager中,diagrams, new diagrams,建立兩個表的關系;直接用transact sql語句。

1、三個方法都需要先建立數據表。

1)創建表author :

create table [dbo].[author] (
[id] [bigint] not null ,
[authorname] [char] (10) null ,
[address] [char] (480) null ,
[introction] [ntext] null
)

2)創建表mybbs:

reate table [dbo].[mybbs] (
[id] [bigint] identity (1, 1) not null ,
[authorid] [bigint] not null ,
[title] [char] (40) null ,
[date_of_created] [datetime] null ,
[abstract] [char] (480) null ,
[content] [ntext] null
)

2、設置表mybbs中的authorid為外鍵,參照author表的id欄位,直接使用transact sql語句,過程如下:

1)增加表mybbs(authorid)的外鍵約束fk_mybbs_author,表mybbs中的authorid受表author中的主鍵id約束:

begin transaction
alter table dbo.mybbs add constraint fk_mybbs_author
foreign key (authorid)
references dbo.author([id]) on update cascade on delete cascade

2)刪除外鍵約束fk_mybbs_author:
--alter table dbo.mybbs drop constraint fk_mybbs_author
--rollback
commit transaction

上面on update cascade,on delete cascade兩個選項,指明以後author表的id欄位有delete,update操作時,mybbs表中的id也會被級聯刪除或更新。如果沒有選中,是不可以對author表中已被mybbs表關聯的id進行update或者delete操作的。

拓展資料:

SQL的主鍵和外鍵的作用:

1、插入非空值時,如果主鍵表中沒有這個值,則不能插入。

2、更新時,不能改為主鍵表中沒有的值。

3、刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。

4、更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。

簡而言之,SQL的主鍵和外鍵就是起約束作用。

2. SQL Server常用到的幾個設置選項是什麼

1. SET DEADLOCK_PRIORITYx0dx0a2. SET LOCK_TIMEOUTx0dx0a3.@@LOCK_TIMEOUTx0dx0a4.SET IDENTITY_INSERTx0dx0a5.SET IMPLICIT_TRANSACTIONSx0dx0a6.SET NOCOUNTx0dx0a7.@@ROWCOUNTx0dx0a8.SET ROWCOUNTx0dx0a9.SET TRANSACTION ISOLATION LEVELx0dx0a10.SET XACT_ABORT x0dx0a1. SET DEADLOCK_PRIORITYx0dx0a說明:控制在發生死鎖情況時會話的反應方式。如果兩個進程都鎖定數據,並且直到其它進程釋放自己的鎖時,每個進程才能釋放自己的鎖,即發生死鎖情況。x0dx0a語法:SET DEADLOCK_PRIORITY { LOW | NORMAL | @deadlock_var }x0dx0a參數:LOW 指定當前會話為首選死鎖犧牲品。Microsoft® SQL Server™ 自動回滾死鎖犧牲品的事務,並給客戶端應用程序返回 1205 號死鎖錯誤信息。x0dx0aNORMAL 指定會話返回到默認的死鎖處理方法。x0dx0a@deadlock_var 是指定死鎖處理方法的字元變數。如果指定 LOW,則 @deadlock_var 為 3;如果指定 NORMAL,則 @deadlock_var 為 6。x0dx0a注釋:SET DEADLOCK_PRIORITY 的設置是在執行或運行時設置,而不是在分析時設置。x0dx0a許可權:SET DEADLOCK_PRIORITY 許可權默認授予所有用戶。x0dx0a2. SET LOCK_TIMEOUTx0dx0a說明:指定語句等待鎖釋放的毫秒數。x0dx0a語法:SET LOCK_TIMEOUT timeout_periodx0dx0a參數:timeout_period 是在 Microsoft® SQL Server™ 返回鎖定錯誤前經過的毫秒數。值為 -1(默認值)時表示沒有超時期限(即無限期等待)。x0dx0a當鎖等待超過超時值時,將返回錯誤。值為 0 時表示根本不等待,並且一遇到鎖就返回信息。x0dx0a注釋:在連接開始時,該設置的值為 -1。設置更改後,新設置在其餘的連接時間里一直有效。x0dx0aSET LOCK_TIMEOUT 的設置是在執行或運行時設置,而不是在分析時設置。x0dx0aREADPAST 鎖定提示為該 SET 選項提供了另一種方式。x0dx0a許可權:SET LOCK_TIMEOUT 許可權默認授予所有用戶。

3. 怎麼設置SQL資料庫用戶許可權

設置SQL資料庫用戶許可權的方法如下: 點擊進入資料庫級別的「安全性」、「登錄名」、「新建登錄名」;在「常規」選項卡中,創建登陸名,並設置默認的資料庫;在「用戶映射」選項卡中,勾選需要設置的資料庫,並設置「架構」,點擊「確認」按鈕,完成創建用戶的操作;在「許可權」選項卡中,依次點擊「添加」、「瀏覽」、「選擇對象」;點擊「確認」按鈕後即可。

熱點內容
實況足球安卓如何改密碼 發布:2024-11-08 06:32:47 瀏覽:30
安卓微信不小心刪了如何找回聊天記錄 發布:2024-11-08 06:32:47 瀏覽:246
安卓手機應用怎麼設置到主屏幕 發布:2024-11-08 06:32:43 瀏覽:272
java核心源碼 發布:2024-11-08 06:27:49 瀏覽:394
壓縮降溫空氣 發布:2024-11-08 06:27:41 瀏覽:202
如何將vue頁面部署到伺服器 發布:2024-11-08 06:26:12 瀏覽:292
今日頭條里的音頻怎麼緩存 發布:2024-11-08 06:25:18 瀏覽:47
黑群暉存儲空間只讀 發布:2024-11-08 06:05:59 瀏覽:579
為什麼微信安卓發不出長視頻 發布:2024-11-08 06:03:35 瀏覽:267
top命令linux 發布:2024-11-08 06:00:41 瀏覽:57