當前位置:首頁 » 編程語言 » sql觸發器練習題及答案
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql觸發器練習題及答案

發布時間: 2022-07-15 03:41:52

⑴ 求sql判斷題答案!謝謝!

1、一個資料庫至少有一個數據文件和事務日誌文件。 (√)
2、OLAP數據存儲模型的常見結構是星型結構或雪崩結構。( ) (沒接觸過)
3、觸發器是一種特殊的視圖對象,在資料庫伺服器中發生指定的事件後自動發生。(×)(特殊的存儲過程)
4、填充因子是描述表填充程度的指標。 (×)(頁填充程度)
5、主體和安全對象之間是通過許可權關聯起來的。 (√)
6、用戶名和登錄名既可以相同,也可以不同。 (√)
7、外鍵是唯一確定每一行數據的方式,是一種數據完整性對象。(×)(主鍵)
8、只有當架構中不再包含對象時,才能被刪除。 (√)
9、固定資料庫角色可以增加和刪除許可權。 (√)
10、聚集索引是一種數據表的物理順序與索引順序相同的索引。(√)(使用聚集索引找到包含第一個值的行後,可以確保包含後續索引值的行在物理相鄰)

⑵ sql資料庫選擇題,在應用中使用sql,觸發器,存儲過程

1)查看錶中的觸發器類型:
sp_helptrigger:返回對當前資料庫的指定表定義的 DML 觸發器的類型。sp_helptrigger 不能用於 DDL 觸發器。
示例: EXEC sp_helptrigger '表名'

2)查看觸發器的有關信息:
sp_help:報告有關資料庫對象(sys.sysobjects 兼容視圖中列出的所有對象)、用戶定義數據類型或某種數據類型的信息。
示例: EXEC sp_help '觸發器名'

3)顯示觸發器的定義:
sp_helptext:顯示規則、默認值、未加密的存儲過程、用戶定義函數、觸發器或視圖的文本。
示例: EXEC sp_helptext '觸發器名'

4)查看當前庫中所有的觸發器:
查詢腳本:SELECT * FROM Sysobjects WHERE xtype = 'TR'

5)查看當前庫中所有的觸發器和與之相對應的表:
查詢腳本:SELECT tb2.name AS tableName,tb1.name AS triggerName FROM Sysobjects tb1 JOIN Sysobjects tb2 ON tb1.parent_obj=tb2.id WHERE tb1.type='TR'

⑶ sql觸發器語句題

create trigger x on students
for insert,update
as
if inserted.年齡<deleted.年齡 then
begin
raiserror('年齡只能增長',16,1)
rollback transaction
end

⑷ SQL 觸發器應用題 不勝感激~O(∩_∩)O謝謝

CREATE TRIGGER my_insupd
ON Student
FOR INSERT
AS
RAISERROR ('歡迎新同學', 16, 1)

⑸ sql 觸發器例題

CREATE TRIGGER [觸發器名字] ON dbo.表名
FOR INSERT,update
AS
declare @a number --成績
declare @id int --(假設你的表裡有一個主鍵為id)
select @a=成績,@id=id from inserted --從將要插入(或更新)數據中讀取這個欄位的值,id是假設你的表中的主鍵,如果沒有,你可以設一個(可用流水號),這個必須的。
if @a<60 --判斷是否及格
update 表名 set 是否補考='是'
else
update 表名 set 是否補考='否'

⑹ sql 觸發器的題目

什麼資料庫的觸發器啊?

--補充
create table users(
id int,
status char(1)
)

觸發器
create or replace trigger trig_users
before insert on users
for each row
begin
if :new.status = '1' then
:new.status := 'a';

elsif :new.status = '2' then
:new.status := 'b';
end if;
end;

測試
SQL> insert into users
2 select 1,'1' from al union
3 select 2,'2' from al union
4 select 3,'1' from al union
5 select 4,'2' from al
6 ;

4 rows inserted

SQL> select * from users
2 ;

ID STATUS
--------------------------------------- ------
1 a
2 b
3 a
4 b

SQL>

⑺ SQL資料庫練習題

1.DISTINCT、top
2.convert
3.查詢、更新、管理
4.主鍵、外鍵
5.ROLLBACK TRAN、COMMIT TRAN
6.sp_renamedb
8.identity
9.插入數據的列數必須和表中列數相等
10.空
12.truncate
14.原子性、一致性、隔離性、永久性
16.count、avg、len、substring
17.cast
18.windows
19.物理數據表
20.<>、!=

⑻ SQL觸發器題目..高手幫忙解決下

create trigger xk_insert on XK for insert as
if ((select count(*) from XS where 學號=(select 學號 from inserted))=0 or (select count(*) from XS where 學號=(select 學號 from inserted))=0)
begin
raiserror('Transaction cannot be processed.\
***** 不能插入數據.', 10, 1)
rollback transaction
end

說明:被插入的數據保存在 inserted 表中,因此從它裡面可以查出你剛剛插入的【學號】。
---
以上,希望對你有所幫助。