1. 程式人生 > >觸發器實現當一個表中欄位改變時同時改變另一個表中欄位值

觸發器實現當一個表中欄位改變時同時改變另一個表中欄位值

觸發器實現當一個表中欄位發生變化時同時改變另一個表中欄位

1.建表

新建兩個表一個叫做Telephonics用來存放航班全部欄位的資料,主鍵為SelfNum航跡號;另一個一個叫做FlightAndSection用來存放航跡號、航班號、扇區編號、時間欄位。

create table Telephonics(

-------------------------------總體----------------------------------
TrackNum  tinyint null,     --包中航跡的數量,不能超過255                                  00    
ID int identity(1,1),
---------------------------短位元組共有部分---------------------                                                
TrackRelted int null,			--航跡相關性,第一個bit 1是 0非,後七個bit航跡來源  01 
SelfNum int not null	primary key,	--航跡號 具有唯一性                                02    
SSRCode int null,			--應答機編碼     2位元組非負整數                     04 
Latitude float null,			--位置__緯度,4位元組浮點數,單位:弧度, 網路序       06
Longitude float null,			--位置__經度,4位元組浮點數,單位:弧度, 網路序       10
VelComOfLati int null,			--緯度速度分量,4位元組,單位:弧度/秒, 網路序       14
VelComOfLong int null,			-- 經度速度分量,4位元組,單位:弧度/秒, 網路序      18
Altitude int null,			-- 飛行高度,2位元組整數,單位100英尺,網路序          22
TTime datetime null,			--時間,自1970/1/1起,秒數
---------------------------長位元組特有------------------------
FlightNum varchar(20)	null,		--航班號,8位元組                                    28
DepartAp  varchar(20)	null,		--起飛機場,四位元組程式碼                             36
DepartTi  varchar(20)	null,		--起飛時間,可能為UTC時間                          40
Aircraft  varchar(20)	null,		--機型,6位元組                                      44
Section   varchar(20)	null,		--扇區編號,2位元組                                  50
Tail      varchar(20)	null,		--尾流型別                                         51 
)
create table FlightAndSection
(
	TrackCode int not null	primary key,	--航跡號 具有唯一性                        02    
	FlightCode varchar(20)	null,		--航班號,8位元組                            28
	SectionCode   varchar(20)	null,	--扇區編號,2位元組                          50
	FTime datetime null,			--時間,自1970/1/1起,秒數
)


2.建立觸發器

在Telephonics表上建立觸發器,當Telephonics表中插入新資料時FlightAndSection表中對應欄位(航跡號、航班號、扇區編號、時間)同時插入相應的資料。

----當Telephonics發生了插入操作之後,會觸發下面這個觸發器的執行
go
create trigger TR_Telephonics_Insert on Telephonics
for insert 
as
begin
	/*宣告臨時變數*/
	declare @TrackCode int		--儲存航跡號 
	declare @FlightCode varchar(20)		--儲存航班號
	declare @SectionCode varchar(20)	--儲存扇區號
	declare @FTime	datetime 	--當時時間	
	/*給臨時變數賦相應值*/
	select @TrackCode=SelfNum  from inserted
	select @FlightCode=FlightNum from inserted
	select @SectionCode=Section from inserted
	select @FTime=TTime from inserted
	/*更新航班表中資料*/
	insert into FlightAndSection(TrackCode,FlightCode,SectionCode,FTime) values(@TrackCode,@FlightCode,@SectionCode,@FTime)
end

說明:定義臨時變數是為了接收Telephonics新插入欄位的資料

3.執行結果




相關推薦

觸發器實現一個中欄改變同時改變一個中欄

觸發器實現當一個表中欄位發生變化時同時改變另一個表中欄位 1.建表 新建兩個表一個叫做Telephonics用來存放航班全部欄位的資料,主鍵為SelfNum航跡號;另一個一個叫做FlightAndSe

ORACLE中觸發器實現刪除一張中資料同時刪除中相關資料

這是我的第一篇部落格。 有兩張表:BOOK、PGEVIEW,分別有一個名為BOOKID的欄位 想實現的功能:刪除BOOK表中的一行資料時刪除與PAGEVIEW表中BOOKID相等的資料行 實現方法:在BOOK表中建立一個觸發器BOOK_TRG_DELETE,具體實現語句如下

Oracle中將一個中某一欄的資料更新到一個中某一欄

首先想到的sql:update 表2 set 表2.c=(select val from 表2 where 表1.a=表2.a);但這樣會出現在表1中有的行,如果在表2中沒有對應的行,值被更新為null

構建觸發器,實現gitlab有push動作時候,jenkins自動拉程式碼

構建觸發器,實現當gitlab有push動作時候,jenkins自動拉程式碼.   拉取gitlab程式碼庫: j

你使用LINQ做底層,最好設計一個工廠,不要把LINQ的動作暴露給業務層

handle ram tile div ++ space ner 數據庫名 string 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: usi

mysql中把一個的數據批量導入一個中(不同情況)

插入 where 並且 導出表 一個表 mys 必須 程序開發 clas mysql中把一個表的數據批量導入另一個表中 不管是在網站開發還是在應用程序開發中,我們經常會碰到需要將MySQL某個表的數據批量導入到另一個表的情況,甚至有時還需要指定導入字段。 本文就將

sql之將一個中的數據註入一個

一個表 .com 分享 兩個 image hbm inf left info sql之將一個表中的數據註入另一個表中 需求:現有兩張表t1,t2,現需要將t2的數據通過XZQHBM相同對應放入t1表中   t1:      t2:    思路:left join

解決mybatis註解開發一個方法裡面新增,一個自動生成的主鍵作為一個的外來鍵新增的問題

1、mapper層裡的方法上添加註解: 實體類屬性:cExperimentaltaskid(id) 表字段:c_experimentaltaskid(主鍵id欄位) @Options(useGeneratedKeys = true, keyProperty = "cExperimentalta

將其他庫中的的資料批量插入新增到一個庫的

jkdb.factory中的jkdb為資料庫,factory為表名 兩張表的欄位和欄位型別需要一致。 INSERT INTO jkdb.factory SELECT id, name, sex

mysql用儲存過程將一個中的資料跟新到一個

這兩天學習mysql遊標的使用 就做了一個小練習題目 很簡單但是可以鍛鍊一下mysql遊標的使用方法 將friend1表中的資料更新到user-fri friend1 需要更新的表 user_fri 儲存過程如下 BEGIN DECLARE userid int;

merge into 從一個的一列資料複製到一個的一列 oracle 中報ora-30926 無法在源中獲得穩定的行

2)在merge的時候也遇到一個問題,出現”ORA-30926: 無法在源表中獲得一組穩定的行。“這個問題原因比較簡單,因為在merge into時需要設定一個key值,會根據這個key值來決定merge into的操作(update還是insert into),所以

form單序列化缺少一些下拉框欄的原因

最近碰到一個問題,在頁面修改一條記錄,有一個下拉框的值不改變,結果序列化form傳到後臺的時候,這個下拉框對應的屬性名沒有被傳到後臺,可是在選擇了下拉框的值之後,則序列化form的時候就有了這個屬性。之前是好的,修改過一次之後就變成這樣了。 經過仔細對比修改前後的程式碼和實

用css3實現滑鼠移入在原來的層上面顯示一個層的動畫效果

演示效果       這是當滑鼠移入會在原來的層上顯示另一個層的動畫,我這個頁面裡有很多項都需要用這個效果,之前我想用js來實現這個效果,不過彈出來的層的位置不好固定,特別是頁面裡有太多這個效果,而最麻煩的還是當視窗縮小時彈出的層會亂飄,後來我使用css3動畫來實現,不僅在

mysql資料庫-----從一個中複製資料和結構到一個

一.從一個表複製結構到另一個表 create table t_emp select * from emp where 1=2; emp表 t_emp表----只複製了emp表的結構 二.從一個表複製結構和資料到另一個 create table t_emp selec

Android listview某項被選中改變字型的顏色,採用XML來配置

最近在做android的檔案管理器功能,將讀取到的檔名依次存放到listview中進行顯示時,如何表示使用者選中了某一個檔案呢,即當listview某項被選中時,改變字型的顏色。先上效果圖: 具體的效果如上圖所示: 要實現上述功能,可以採用XML配置的方法來實現: 首先

C#在DataGridView滑鼠移到某行,該行改變顏色

在datagridview當滑鼠移到某行時,該行改變顏色 Winform: DataGridView屬性中有個SelectMode之類的屬性,可以設定是選擇單元格還是選擇行。 在DataGirdView屬性中還有DefaultCellStyle之類的屬性,可以設定選中時的背

怎樣把一個字典的數據添加到一個字典中?

sdi 數據添加 需求 found omd tina trie rom cti 這種簡單的需求Foundation API就已經完成的很好了。 創建一個包含其他字典的字典:[NSDictionary dictionaryWithDictionary:sourceDict]

hdu6153 擴展kmp求一個字符串的後綴在一個字符串出現的次數。

pac ret tex names max == eve blank 求一個 /** 題目:hdu6153 鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=6153 題意:給定兩個串,求其中一個串t的每個後綴在另一個串s中出現的次

Halcon從某一個圖片以指定區域繪制到一個圖像

全部 points span halcon alc 覆蓋 spa angle gen ************************************************************* * Halcon從某一個圖片以指定區域繪制到另一個圖像

一個列表的數據復制到一個列表中

OS 要求 spa pos post 另一個 gpo bsp 表數據 1 ‘‘‘ 2 提問:將一個列表的數據復制到另一個列表中。 3 請仔細看要求,這裏要求的是復制數據到一個新的列表中。 4 Python列表數據復制,Python解題思路分析:可以了解下[ :]的含義