【正文】
UPDATE 職工 SET 工資=工資* WHERE 工資(SELECT AVG(工資) FROM 職工)3. 在第1題的數(shù)據(jù)庫(kù)中建立一個(gè)存儲(chǔ)過(guò)程,查詢工資大于某個(gè)值且在某個(gè)城市工作的職工信息;并以工資大于8000元且在北京工作的職工為例執(zhí)行該存儲(chǔ)過(guò)程。(10分)CREATE PROC getemp(@salary int,@city char(8))ASSELECT * FROM 職工 WHERE 工資@salary and倉(cāng)庫(kù)號(hào) IN(SELECT 倉(cāng)庫(kù)號(hào) FROM 倉(cāng)庫(kù) WHERE 城市=@city)EXECUTE getemp @salary =8000, @city=’北京’4. 在第1題的數(shù)據(jù)庫(kù)中建立一個(gè)觸發(fā)器,當(dāng)刪除倉(cāng)庫(kù)記錄時(shí)同時(shí)刪除該倉(cāng)庫(kù)的職工信息。(5分)CREATE TRIGGER wdel_triON 倉(cāng)庫(kù) FOR DELETEASDELETE 職工 WHERE 倉(cāng)庫(kù)號(hào) IN(select 倉(cāng)庫(kù)號(hào) from DELETED)。5. 在第1題的數(shù)據(jù)庫(kù)中建立一個(gè)觸發(fā)器,當(dāng)插入一個(gè)職工記錄時(shí),檢查該職工所在的倉(cāng)庫(kù)是否存在,若不存在則撤消所做的插入操作。(5分)CREATE TRIGGER empinsert_triON職工 FOR INSERT ASIF NOT EXISTS(SELECT * FROM 倉(cāng)庫(kù)WHERE 倉(cāng)庫(kù)號(hào) IN(SELECT 倉(cāng)庫(kù)號(hào) FROM INSERTED)BEGIN PRINT ‘非法倉(cāng)庫(kù)號(hào)’。 ROLLBACK TRANSACTION。END。