資料庫建立觸發器實現欄位不可為空

2022-02-14 21:24:35 字數 1474 閱讀 7862

1樓:賓士

1、oracle中你說的沒錯,空字串['']會被自動解析成[null],所以你的處置是正確的。

2、我不知道你說的另外的資料庫是什麼,我知道sqlserver是不把空字串['']自動解析成[null]的,我就給你寫個sqlserver的觸發器吧。

create trigger test_trigger on 表名 for insert as

declare @tmp varchar(1000);

set @tmp=(select 欄位 from inserted);

if @tmp='' update 表名 set 欄位=' ' where 主鍵=(select 主鍵 from inserted);

---以上,希望對你有所幫助。

2樓:

你是不是說兩個表a,b 。

表a允許插空值。b表不允許?

「不一定是插入空格還是空串,需要用觸發器保證插入空格」不明白?

3樓:

那你這個欄位到底是插入空的,還是插入空格

你的意思是,如果是空串的話,就會被空格來替換掉是吧?

意思說明白點,好嗎?我來試試

sql 觸發器如何指定欄位更新才觸發? 10

4樓:刺友互

1、首先,嘗試建立一個觸發器,要求就是在addtable這個表上建立一個update觸發器。

2、觸發器就會觸發輸出:the table was updated!。

3、接下來來將addtable表中的資料執行一個更改的操作。

4、執行後,會發現,觸發器被觸發,輸出了設定好的文字。

5、只需要將開始的create建立變為alter,然後修改邏輯即可。

6、如果想檢視某一個觸發器的內容,直接執行:exec sp_helptext [觸發器名]。

7、再進行一下測試,對addtable表進行更改,發現,觸發update觸發器之後,因為有資料保護,觸發器中止。

5樓:匿名使用者

sql 觸發器,根據指定欄位是否更新觸發的方法:

一、使用update(欄位名稱) 函式的返回值來做判斷二、例:** tt

1、建立 觸發器 『tgr_test』,判斷v2欄位是否更新,如果更新,檢索顯示 『v2更新』

2、測試更新v2欄位,檢索顯示『v2更新』

3、測試更新test_column 欄位,檢索則不顯示『v2更新』

6樓:聆雨閣

create or replace trigger maintain_employee_salaries

for update of salary on employees

這個就是當employees表的salary 欄位更新時候才觸發的

7樓:木森耙耙

if(update(欄位名))

C怎樣實現從資料庫中把資料傳到另資料庫中

1.假設兩個資料庫結構完全一致,包括所有的表結構定義,鍵約束關係,等等專,那麼,你可以按下屬 面的思路來進行導庫 首先,用ado或rdo連線指定的源資料庫a和目標資料庫b 其次,用查詢語句查詢庫a系統表,如果你沒用過access的系統表,你可以開啟access後,點 工具 選項 在 檢視 頁裡有一個...

請教資料庫建立的相關問題

把需求給我,詳細資料弄過來,我願意效勞。郵件 rain me hotmail.com 其實用php設計也很方便的,這樣可以好多人同時掛在上面使用。既然你用過foxpro,何不再用呢,撿起來很快的,foxpro又那麼好學。用visual foxpro 6.0,資料庫和程式設計 如果需要的話 都用它,最...

資料庫中如何實現自然連線

一 自然連線是第一步r s結果是 a b c d b e1 a 3 2 c 71 a 3 3 d 51 a 3 1 a 32 b 6 2 c 72 b 6 3 d 52 b 6 1 a 33 c 7 2 c 73 c 7 3 d 53 c 7 1 a 3就是用r表中的每一項乘以s表中的每一項。二 選...