1. 一個觸發器可表示( )位二進制碼,三個觸發器串接起來,可表示( )位二進制數。
一個觸發器可以表示(1)位二進制碼,三個觸發器串接起來,可以表示(3)位二進制數000~111(0~7)。
2. 由3個D觸發器構成的二進制計數器,其計數器的模為多少
3個D觸發器可以構成3位二進制計數器,計數范圍0~7,因此其模為8。
3. 一個觸發器可以存儲 位二值信號,要存儲200個狀態,至少需要 個觸發器。
一個觸發器可以存儲(1)位二值信號,要存儲200個狀態,至少需要(8)個觸發器。
一個觸發器只能寄存一位二進制數,一位二進制數可以表示2個狀態,2的8次方256大於200,所以存儲200個狀態需要8個觸發器。
4. 3位二進制信息,至少需要多少個觸發器
每個觸發器存儲1位二進制代碼,3位二進制信息,至少需要3個觸發器。
5. 一個觸發器可以存放幾位二進制數
1個觸發器可以存放2位二進制數。
此外普通的反相器的輸入信號必須是在時間上比較陡峭的數字信號,而施密特觸發器的輸入信號可以在時間上變化非常緩慢。
與非門組成的RS鎖存器平時就是置高電平,因此是反變數輸入,也就是低電平使能,Sd和Rd稱為置1和置0輸入端,而或非門的RS鎖存器平時就是低電平,因此就是原變數輸入,正常的高電平使能,Sd'和Rd'稱為(Q的)置1和置0輸入端。
(5)3個觸發器可以存儲擴展閱讀:
觸發器使用注意事項:
觸發器不接受參數,一個表最多可有12個觸發器(觸發器類型剛好是12種),並且同一時間,同一事件,同一類型的觸發器只能有一個。
觸發器最大為32KB,由於大小受到限制自然也不能使用long,blob這樣的大變數,如果實在是有復雜的邏輯,要弄個很復雜的觸發器,可以通過procere或function實現一部分功能後調用。
因為觸發器實際上可以看作觸發語句的一部分,所以得遵循一些約束條件,比如不能有事務控制語句,這些特殊語句與一般sql語句的最主要區別是涉及到commit的問題,所以如果觸發語句只是一般語句自然不能因為trigger的操作帶有commit這樣的特性了。
6. 數字電路常用的觸發器有哪些3個空
SQL Server 有三種常規類型的觸發器:DML 觸發器、DDL 觸發器和登錄觸發器。
DML觸發器,當資料庫中表中的數據發生變化時,包括insert,update,delete任意操作,如果我們對該表寫了對應的DML觸發器,那麼該觸發器自動執行;
DDL觸發器,它是Sql Server2005新增的觸發器,主要用於審核與規范對資料庫中表,觸發器,視圖等結構上的操作;
登錄觸發器,登錄觸發器將為響應 LOGIN 事件而激發存儲過程。與 SQL Server 實例建立用戶會話時將引發此事件。登錄觸發器將在登錄的身份驗證階段完成之後且用戶會話實際建立之前激發。
(6)3個觸發器可以存儲擴展閱讀
觸發器可通過資料庫中的相關表實現級聯更改,不過,通過級聯引用完整性約束可以更有效地執行這些更改。觸發器可以強制用比CHECK約束定義的約束更為復雜的約束。與 CHECK 約束不同,觸發器可以引用其它表中的列。
例如,觸發器可以使用另一個表中的 SELECT 比較插入或更新的數據,以及執行其它操作,如修改數據或顯示用戶定義錯誤信息。觸發器也可以評估數據修改前後的表狀態,並根據其差異採取對策。一個表中的多個同類觸發器允許採取多個不同的對策以響應同一個修改語句。
7. 5個觸發器可以儲存幾位二進制數
一個JK觸發器有兩個穩定狀態:0或1。 可以以存儲1位二進制。 也是 4個觸發器可以儲存4位二進制數。
與非門組成的RS鎖存器平時就是置高電平,因此是反變數輸入,也就是低電平使能,Sd和Rd稱為置1和置0輸入端,而或非門的RS鎖存器平時就是低電平,因此就是原變數輸入,正常的高電平使能,Sd'和Rd'稱為(Q的)置1和置0輸入端。
DDL觸發器:
Sql Server2005新增的觸發器,主要用於審核與規范對資料庫中表,觸發器,視圖等結構上的操作。比如在修改表,修改列,新增表,新增列等。它在資料庫結構發生變化時執行,我們主要用它來記錄資料庫的修改過程,以及限製程序員對資料庫的修改,比如不允許刪除某些指定表等。
SQL Server 實例建立用戶會話時將引發此事件。登錄觸發器將在登錄的身份驗證階段完成之後且用戶會話實際建立之前激發。因此,來自觸發器內部且通常將到達用戶的所有消息(例如錯誤消息和來自 PRINT 語句的消息)會傳送到 SQL Server 錯誤日誌。如果身份驗證失敗,將不激發登錄觸發器。
8. 存儲過程的觸發器
觸發器是一種特殊類型的存儲過程,它不同於我們前面介紹過的存儲過程。觸發器主要是通過事件進行觸發而被執行的,而存儲過程可以通過存儲過程名字而被直接調用。當對某一表進行諸如Update、 Insert、 Delete 這些操作時,SQL Server 就會自動執行觸發器所定義的SQL 語句,從而確保對數據的處理必須符合由這些SQL 語句所定義的規則。
觸發器的主要作用就是其能夠實現由主鍵和外鍵所不能保證的復雜的參照完整性和數據的一致性。除此之外,觸發器還有其它許多不同的功能:
(1) 強化約束(Enforce restriction)
觸發器能夠實現比CHECK 語句更為復雜的約束。
(2) 跟蹤變化Auditing changes
觸發器可以偵測資料庫內的操作,從而不允許資料庫中未經許可的指定更新和變化。
(3) 級聯運行(Cascaded operation)。
觸發器可以偵測資料庫內的操作,並自動地級聯影響整個資料庫的各項內容。例如,某個表上的觸發器中包含有對另外一個表的數據操作(如刪除,更新,插入)而該操作又導致該表上觸發器被觸發。
(4) 存儲過程的調用(Stored procere invocation)。
為了響應資料庫更新,觸發器可以調用一個或多個存儲過程,甚至可以通過外部過程的調用而在DBMS(資料庫管理系統)本身之外進行操作。
由此可見,觸發器可以解決高級形式的業務規則或復雜行為限制以及實現定製記錄等一些方面的問題。例如,觸發器能夠找出某一表在數據修改前後狀態發生的差異,並根據這種差異執行一定的處理。此外一個表的同一類型(Insert、 Update、 Delete)的多個觸發器能夠對同一種數據操作採取多種不同的處理。
總體而言,觸發器性能通常比較低。當運行觸發器時,系統處理的大部分時間花費在參照其它表的這一處理上,因為這些表既不在內存中也不在資料庫設備上,而刪除表和插入表總是位於內存中。可見觸發器所參照的其它表的位置決定了操作要花費的時間長短。 SQL Server 2000 支持兩種類型的觸發器:AFTER 觸發器和INSTEAD OF 觸發器。其中AFTER觸發器即為SQL Server 2000 版本以前所介紹的觸發器。該類型觸發器要求只有執行某一操作(Insert Update Delete) 之後,觸發器才被觸發,且只能在表上定義。可以為針對表的同一操作定義多個觸發器。對於AFTER觸發器,可以定義哪一個觸發器被最先觸發,哪一個被最後觸發,通常使用系統過程sp_settriggerorder 來完成此任務。
INSTEAD OF觸發器表示並不執行其所定義的操作(Insert、 Update、 Delete),而僅是執行觸發器本身。既可在表上定義INSTEAD OF觸發器,也可以在視圖上定義INSTEAD OF 觸發器,但對同一操作只能定義一個INSTEAD OF 觸發器。 Create procere procere_name
[@parameter data_type][output]
[with]{recompile|encryption}
as
sql_statement
解釋:
output:表示此參數是可傳回的
with {recompile|encryption}
recompile:表示每次執行此存儲過程時都重新編譯一次
encryption:所創建的存儲過程的內容會被加密
如:
表book的內容如下
編號 書名 價格
001 C語言入門 $30
002 PowerBuilder報表開發 $52
實例1:查詢表Book的內容的存儲過程
create proc query_book
as
select * from book
go
exec query_book
實例2:
加入一筆記錄到表book,並查詢此表中所有書籍的總金額 Createprocinsert_book@param1char(10),@param2varchar(20),@param3money,@---------加密asinsertintobook(編號,書名,價格)Values(@param1,@param2,@param3)select@param4=sum(價格)frombookgo執行例子:declare@total_pricemoneyexecinsert_book顛','Delphi控制項開發指南',$100,@total_priceoutputprint'總金額為'+convert(varchar,@total_price)go存儲過程的3種傳回值:
1)、以Return傳回整數
2)、以output格式傳回參數
3)、Recordset
傳回值的區別:
output和return都可在批次程式中用變數接收,而recordset則傳回到執行批次的客戶端中。
實例3:
設有兩個表為Proct,Order_,其表內容如下:
Proct
產品編號 產品名稱 客戶訂數
001 鋼筆 30
002 毛筆 50
003 鉛筆 100
Order_
產品編號 客戶名 客戶訂金
001 南山區 $30
002 羅湖區 $50
003 寶安區 $4
請實現按編號為連接條件,將兩個表連接成一個臨時表,該表只含編號.產品名.客戶名.訂金.總金額,
總金額=訂金*訂數,臨時表放在存儲過程中
代碼如下:
Create proc temp_sale
as
select a.產品編號,a.產品名稱,b.客戶名,b.客戶訂金,a.客戶訂數* b.客戶訂金 as總金額
into #temptable from Proct a inner join Order_ b on a.產品編號=b.產品編號-----此處要用別名
if @@error=0
print 'Good'
else
print 'Fail'
go
9. sql觸發器 三個表怎麼用呢 從一個表批量添加到另個表怎麼添加哦 可以在觸發器中用存儲過程么
1、觸發器就是實現在某張表發生某些行為時,其他表要進行的操作。
2、觸發器本身就是引發過程發生的,當然可以用存儲過程。
3、觸發器有三種:當某張表有插入新記錄時觸發;當某張表有更新記錄時觸發;當某張表有刪除記錄時觸發。要根據你自己的需要選擇。
10. 觸發器個數與存儲信息位數之間的關系
一個觸發器能儲存一位二進制代碼。
寄存器是由觸發器組成的。
一個觸發器就職一個一位的寄存器,
多個觸發器就可以組成一個多位的寄存器