-
通過轉到 Database->Your Database->Table-> Triggers->Right-Click-> 建立新觸發器。
-
create trigger tgr_classes_inserton classes
for insert -- 插入觸發器。
as--定義變數。
declare @id int, @name varchar(20), temp int;--成績。
這是女性的最新資料,忘了它。
if(exists(select @id = id, @name = name,@temp =temp from inserted where gender=female));
beginset @temp = @temp +5;
update student set temp = @temp where id=@id and name=@name;
endgo
-
---1、
create trigger tr_insert
在學生桌上。
for insert
asdeclare @class_id int,stu_id int
選擇前 1 名 @class id=課程編號 (選擇課程編號,count(*)作為從按課程編號分組的班級表中選擇總數) T1 按 desc 排序
從插入中選擇@stu id=學生編號
在選擇表中插入 values(@stu id, @class id, 0)。
go---2、
create trigger tr_delete
在學生桌上。
for delete
asdeclare @stu_id int
select @stu id=student ID from deleted
如果存在(從中選擇 1,其中學生 ID =@stu ID)。
beginraiserror ('拒絕刪除學號為 %d 的記錄,因為該學生有選課記錄',@stu_id)
rollback transaction
完 *請求在刪除學生資訊的同時刪除相關表中的所有資訊(因為您不知道您的表,可以根據@stu ID(學號)*去新增刪除下面附加的對應表。
-
if(object_id('tri_up_c','tr') is not null)
drop trigger tri_up_cgocreate trigger tri_up_con cfor insert
asif(exists(select * from(select count(sno) as num from ct ct join c c on t where >
raiserror('如果學生人數超過學生人數,則無法註冊',16,11);
你先試試,然後問我。
-
我還認為這不應該在程式中使用觸發器來判斷。
當你想插入一門課程選擇時,首先檢查你是否要參加先修課程,如果有,就會插入資料,如果沒有,就會提示。
如果使用觸發器,需要先插入資料,然後觸發操作查詢,如果不起作用,可以回滾資料。
操作步驟多,浪費系統資源。
但是,如果必須使用觸發器,請將 1L 的 if 條件更改為 1L。
if exists(
選擇 * 從 stu cno a 內部連線插入 b 在內部連線上 選修課 附表 c 上
where
-
這不必寫在資料庫中,而是寫在程式中!
-
1. 建立乙個包含輸入引數和輸出的儲存過程 p kh,並返回指定教師所教授課程的課程編號(作為輸出引數)(作為輸入引數)。
2. 建立並執行帶有輸入和輸出引數的儲存過程 p cj3,使用指定的學號(輸入引數)查詢學生選擇的課程的課程名稱和成績(輸出引數),呼叫儲存過程後,帶有學號的選修課的課程名稱為“xx”,其等級為: xx.
3. 分別檢查 p xsqk、p kh、p cj3。
4. 在 XSCJ 庫的 XS KC 表上建立乙個名為 TR INSERT CJ 的觸發器,在插入到 XS KC 表時觸發觸發器,並給出提示資訊“XS KC 表中插入了新結果! ”。
5. 在 xscj 庫的 xsqk 表上建立乙個名為 TR Delete XSQK 的觸發器,當您要刪除具有指定學號的行時,啟用觸發器,撤消刪除操作,並給出提示訊息“您無法刪除 XSQK 表中的資訊! ”。
6. 在 XS KC 表上建立乙個名為 TR update XS KC 的觸發器,用於檢測表的“成績”列是否更新,當有更新時,會顯示學生 ID、課程 ID、原成績和新成績。
7. 刪除 TR INSERT CJ 觸發器。
-
這是更改 gradeChange 表的第乙個觸發器,在學生接管時建立觸發器 [up] 進行更新
asif update(grade)
begininsert into gradechangeselect * from insertedwhere grade between 0 and 100endreturn
您可以根據您的表格更改其餘部分。
不可以,SQL系列只能安裝在伺服器系統上,比如win2003,你可以到我的網站發布你的問題,看看有沒有好的解決方法,電腦有問題嗎? >>>More
1、廣泛性:任何基於SQL語言的資料庫都可能受到攻擊,很多開發者在編寫Web應用時,不會對輸入引數、web表單、cookie等接收到的值進行規範的驗證和檢測,經常會出現SQL注入漏洞。 >>>More