當前位置:首頁 » 編程軟體 » sqlplus查觸發器是否編譯

sqlplus查觸發器是否編譯

發布時間: 2022-08-03 13:29:47

sqlplus語句中創建一個觸發器一直提示第三行錯誤,缺失右括弧是為什麼,觸發器代碼如下所示

辦法一:把序列和觸發器名字中的引號去掉.
辦法二:觸發器中,select "Sequence_APP".NEXTVAL INTO :new.AID from al;

Ⅱ 如何查看sql server是否有觸發器

1、通過可視化操作來管理和查看觸發器
在Microsoft SQL Server Management Studio中,選中某一資料庫的某一張表時,在「對象資源管理器詳細」窗口中有「觸發器」項。
通過「觸發器」的右鍵菜單功能,我們可以新建觸發器。如果原來的表中已經存在了觸發器,通過雙擊「觸發器」項可以查看到具體的觸發器,在此處可以執行 修改、刪除等操作。
2、通過查詢分析器來管理和查看觸發器
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'

Ⅲ 創建的觸發器帶有編譯錯誤

select table_sequence nextval into:new.id from al;
這句的table_sequence 和nextval 之間少了個點
table_sequence.nextval
還有這個樣子些不好,這個al偽表一般只適合SQLPLUS下用,pl/sql中 直接用賦值的方式:
:new.id:=table_sequence.nextval就OK了。

Ⅳ SQLPLUS一道關於觸發器的問題,判斷輸入students表格裡面的生日與年齡是否符合,如果不符合會報錯。

這個可以滿足你的要求,oracle10gr2已測試
create or replace trigger stu_age
before insert or update on STUDENTS
for each row
begin
if (EXTRACT(year FROM sysdate) - EXTRACT(year FROM :new.bdate) <>
:new.age) then
RAISE_APPLICATION_ERROR(num => -20107,
msg => 'MISMATCH OF BDATE AND AGE');
end if;
end;

Ⅳ Oracle SQL*PLUS中設置trigger為何總是編譯錯誤

編譯錯誤一般是trigger的寫法有誤。

Oracle中trigger語法:

CREATE[ORREPLACE]TRIGGERtrigger_name
{BEFORE|AFTER}
{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}
[OR{INSERT|DELETE|UPDATE[OFcolumn[,column…]]}...]
ON[schema.]table_name|[schema.]view_name
[REFERENCING{OLD[AS]old|NEW[AS]new|PARENTasparent}]
[FOREACHROW]
[WHENcondition]
PL/SQL_BLOCK|CALLprocere_name;

具體的內容需要根據需求來編寫。

Ⅵ LINUX下,對ORACLE資料庫腳本(比如存儲過程或是觸發器)進程編譯,用哪個命令

sqlplus里
@${filename}

showerror -- 查看編譯錯誤

Ⅶ 如何在sql資料庫中查找觸發器的代碼

SQL Server
只要在創建觸發器的時候沒有指定WITH ENCRYPTION 選項,都能查看到源代碼。
在SMSS的對象資源管理器中找到有觸發器的表,展開,在下面的觸發器項目下找到觸發器的名字,雙擊(或者右擊觸發器名字,在菜單中選擇編輯), 就能看到觸發器的源代碼了。

Ⅷ SQL中如何查詢指定觸發器是否存在

我給你講一下吧,前提是我不知道你是sql server還是oracle:
那就先講sql server:select name from sysobjects where name='trig_insert' and type='tr'這句一般在建觸發器是第一句都寫得,name欄位是你的觸發器名稱,當然你一可以用模糊查詢like關鍵字來查。
其次是oracle ,他的觸發器在user_triggers這張表裡面,select trigger_name,trigger_type,table_name from user_triggers where trigger_name like' to%';

Ⅸ oracle創建的觸發器帶有編譯錯誤

告訴你兩點:
1、當出現警告或者錯誤的時候,使用show error 命令,可以查看錯誤的具體信息,在信息中可以定位錯誤的具體位置。
2、你的問題是:【endif;】不能寫在一起,【end if;】是正確的。
類似的還有【end loop】 等。

---
以上,希望對你有所幫助。

Ⅹ 如何在sqlplus中運行創建觸發器的腳本

腳本編輯好以後放到一個目錄下,腳本名比如create.sql,最好是英文目錄,比如c盤的data目錄。

其中創建的腳本必須不能有錯誤,否則編譯肯定無法通過,然後要以分號結尾。

然後cmd進入data目錄,登錄sqlplus到指定資料庫。

執行

@create.sql
熱點內容
微信密碼已經忘記了如何找回 發布:2024-04-28 11:54:13 瀏覽:304
騰訊雲伺服器可以備案幾個網站 發布:2024-04-28 11:54:12 瀏覽:457
影響編譯速度的因素有哪些 發布:2024-04-28 11:53:58 瀏覽:254
安全配置汽車有哪些 發布:2024-04-28 11:48:07 瀏覽:829
存儲鏈路中斷 發布:2024-04-28 11:11:39 瀏覽:734
安卓錘子手機怎麼改文字 發布:2024-04-28 11:09:52 瀏覽:100
列舉貪心演算法 發布:2024-04-28 10:44:15 瀏覽:697
文具店疫情演練腳本 發布:2024-04-28 10:23:40 瀏覽:25
綠色商城源碼 發布:2024-04-28 10:04:45 瀏覽:586
點歌機伺服器是什麼 發布:2024-04-28 10:04:43 瀏覽:742