SQL Update 觸發器 當本條記錄某個欄位更新後,用該記錄去更新另一張表的資料
思路來源於該部落格
--SqlServer Update觸發器判斷某個欄位的值是否已經更改
https://blog.csdn.net/zhangshufei8001/article/details/51568834
create trigger [tig_update] on 表名
after update
as
declare @id int,
@upflag int
begin
select @upflag = case when a.列名=b.列名 then 0 else 1 end, @id=a.id from deleted a left join inserted b on a.id = b.id
if (@upflag>0)
update 子表名 set lasttime = GETDATE() where pid = @id
end
對於該觸發器我的理解是:
定義了兩個變數 id (更新記錄的Id) 、uplfag (更新記錄數-用來判斷更新記錄是否成功)
我覺得博主的部落格這句話說的相當精髓:
解釋一下,deleted表中存的是修改前的值,inserted中存的是修改後的值,這樣是不是更好呢!
所以我要實現的需求 程式碼如下:
create trigger [tig_update] on 表名
after update
as
declare @id int,
@upflag int,
@nid int
begin
select @upflag = case when a.列名=b.列名 then 0 else 1 end, @id=a.id from deleted a left join inserted b on a.id = b.id
if (@upflag>0)
update 子表名 set lasttime = GETDATE() where pid = @id
end
相關推薦
SQL Update 觸發器 當本條記錄某個欄位更新後,用該記錄去更新另一張表的資料
思路來源於該部落格 --SqlServer Update觸發器判斷某個欄位的值是否已經更改 https://blog.csdn.net/zhangshufei8001/article/details/51568834 create trigger [tig_update
SQL 查詢的結果某個欄位是Null,用預設的值代替
如果查詢的結果某個欄位是Null,用預設的值代替。 1、)Sql server中: select case when 欄位名1 is null then 替代值
sql查詢表中某個欄位值相同,其他欄位取最大值的記錄
SELECT a.* FROM user a WHERE not EXISTS( select 1 from user where name = a.name and age > a.age ) 對user表進行掃描,編號(或姓名)相同情況下,沒有比前邊年齡大
SQL Server資料庫中查詢含有某個欄位的表及該表記錄條數
SELECT object_name(sc.id) as TableName, sc.Name as ColumnName, si.rows as RowCounts FROM SysColumns sc LEFT JOIN SysObjects so ON sc.id =
SQL分組且取每組某個欄位最大或最小值
有個表gz: 要按sku分組,同時取每個sku的stock最大的那條 SQL語句: SELECT * FROM (SELECT * FROM gz ORDER BY stock DESC ) a GROUP BY sku 結果: 如果要最小的
mysql把一個表某個欄位的內容複製到另一張表的某個欄位的SQL語句寫法
需求:把一個表某個欄位內容複製到另一張表的某個欄位。 實現sql語句1: UPDATE file_manager_folder f1 LEFT OUTER JOIN file_manager_folder f2 ON f1.name = f2.
sql server 統計資料庫中某個欄位的值,剔除重複資料和查詢重複的資料
1.有的時候,在資料庫中存在一些重複的資料,但是我們又想統計某個欄位的值,重複的要剔除掉,如圖所示: 在上面的圖我們可以看到,id=2,3 id=4,5的4條資料都重複了,我們統計amount只要其
MYSQL 查詢前N條記錄某個欄位的和
假設有個課程表course,其中有個欄位Ccredit,現在想查詢這個欄位前N條記錄的和,那麼這個語句該怎麼寫? 可能首先想到的就是:select sum(Ccredit) from course limit N; 可是經過試驗卻發現查詢出來的是這個欄位所有記錄的和,而不是前
【Oracle】oracle sql 按某個欄位分組然後從每組取出最大的一條紀錄
oracle sql(按某個欄位分組然後從每組取出最大的一條紀錄)? 比如表 mo_partprg 欄位有:listid recid 1 1 1 2 2 3 2 4 2
sql中order by 【以某個欄位排序】
ORDER BY 語句用於對結果集進行排序。 再具體的說不清了,我們直接上例子吧。 現在我們有一個表,如下: 例項1 --asc是升序的意思 預設可以不寫 desc是降序 selec
資料庫中某個表中的某個欄位的值是用逗號隔開的多個值,根據逗號拆分並從另一個表中查出資料返回
有兩個表A,B,表結構如下: A表 B表 關聯關係說明如下: (1)A.hospital_catalog=B.id (2)A表中hospital_catalog欄位的值是以 逗號 “,” 隔開,且兩邊用中括號“[ ]”包起,
oracle 資料庫中某個欄位逗號分隔,得到對應列中的個數(列轉行)實現方法
由於各種原因,資料的原則問題,導致某個欄位上出現多個數據(依據分隔符隔開),比如 name 欄位為 張三;李四;王五等等 需求:求一張表中name欄位中出現的個數; 想要得到的結果為: 對
oracle 按某個欄位分組然後從每組取出最大的一條紀錄
欄位有:listid recid 1 1 1 2 2 3 2 4 2 5 想得到的資料是 按照 listid 分組
監聽vuex中state內某個欄位的變化,觸發模組中執行函式的寫法
watch:{getorderid(curval,oldval){ //監聽了computed中getorderid的值,如果發生改變就觸發console.logconsole.log(`最新值${curval}--舊值${oldval}`);}},com
Mongodb在查詢某個欄位是否存在,執行刪除欄位,python中排序和建立索引
查詢欄位是否存在 查詢course表中,存在lectures_count欄位的記錄資訊 db.course.find( { “lectures.lectures_count”: { $exists: true } } ) 引數:ture或者false 使
sql server觸發器實現插入時操作另一張表
以前都是也得mysql,現在寫sqlserver的觸發器,感覺改動還是蠻大的 1.定義變數 #在mysql中變數直接這麼定義就可以了 SET @VALUE = "111"; #在sql server中 declare @count int; #並賦值 set @count
MySQL用另一張表的字段值Update本表
conn class tab highlight ble pre true field brush SQL示例: UPDATE TABLE1 a, TABLE2 b SET a.field1 = b. field1 [, a.field2 = b.field2, ...
postgresql 從一張表中查詢出記錄然後批量插入到另一張表中
有個業務從 appuser 表中 把uid 查出來所有uid 資料,然後批量插入 app_user_sdk 表中 insert into app_user_sdk ((select uid,'MY' from appuser); 又要重複插入,又把新新增的使用者,
mysql資料庫的簡單增刪改查,合併欄位,拼接字元操作,用java完成將一張表中的查詢結果合併存入另一張表的指定欄位
首先問題描述:我現在有兩個表,一個表是關鍵詞,一個表是含有關鍵詞的標籤,需要做的就是在關鍵詞表中新建一個標籤欄位,把包含該關鍵詞的全部標籤存入其中。比如關鍵詞是Java,標籤可能有Java開發,Java後臺等。我這裡關鍵詞有4000個,標籤有40000個,我用了小段java程式碼+sql的函式就完成
【轉載】對BP進行增強後(螢幕欄位擴充)後,如何通過BAPI建立BP
建立BP成功後,直接呼叫更改客戶的一般資料 函式進行更改,注意幾個輸入引數。 CALL FUNCTION 'SD_CUSTOMER_MAINTAIN_ALL' &nbs