簡體   English   中英

如何在Oracle SQL Developer中創建觸發器? 遇到錯誤

[英]How to create trigger in Oracle sql developer? Getting Error

以下是我創建觸發器的代碼,如下所示。

 CREATE or REPLACE TRIGGER sms_trigger
    AFTER INSERT ON student
    FOR EACH ROW
    ENABLE
    DECLARE lclcmd CHAR(255);
    DECLARE res VARCHAR(255);
     BEGIN

      SET lclcmd = CONCAT("php C:/xampp/htdocs/sample/sms_send.php");
      SET res = sys_exec(lclcmd);

    END;

運行上述代碼后,出現如下錯誤

1) Error(1,5): PLS-00103: Encountered the symbol "DECLARE" when expecting 
one 
of the following:     begin function pragma procedure subtype type <an 
identifier>    <a double-quoted delimited-identifier> current cursor delete    
exists prior The symbol "begin" was substituted for "DECLARE" to continue.
2) Error(4,11): PLS-00103: Encountered the symbol "LCLCMD" when expecting 
one of the following:     transaction <a SQL statement> 

檢查以下內容,注意concat函數是錯誤的,您已經向concat添加了一個字符串..。

請注意,您不必再使用一次聲明,也不必添加SET ,並且在要分配值時必須放入:=

CREATE or REPLACE TRIGGER sms_trigger
    AFTER INSERT ON student
    FOR EACH ROW
    ENABLE
    DECLARE 
      lclcmd VARCHAR(255);
      res VARCHAR(255);
    BEGIN

       lclcmd := CONCAT('php C:/xampp/htdocs/sample/sms_send.php','something');
      res := sys_exec(lclcmd);

    END;
/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM