2013-08-19 70 views
0

我不太確定爲什麼這個存儲不起作用。我收到一條消息,說「pl/sql語句未正確結束」。這個存儲過程爲什麼不起作用?

CREATE OR REPLACE PROCEDURE APPROVEUSER (
    seuser IN USERS_STOCK_EXCHANGES.USERNAME%TYPE, 
    semanager in STOCK_EXCHANGES.STOCK_EXCHANGE_MANAGER%TYPE) 
    AS 
    BEGIN 
     UPDATE USERS_STOCK_EXCHANGES SET VERIFY_STATUS=1 
     FROM USERS_STOCK_EXCHANGES use 
     INNER JOIN 
      STOCK_EXCHANGES se 
     ON 
      use.STOCK_EXCHANGE_ID = se.STOCK_EXCHANGE_ID 
     WHERE use.USERNAME = seuser 
     AND se.STOCK_EXCHANGE_MANAGER = semanager; 

    END APPROVEUSER; 

回答

3

有在UPDATE語句沒有連接,見this questionOracle SQL documentation

在你的情況我會寫這樣的事情

UPDATE users_stock_exchanges use 
SET verify_status = 1 
WHERE EXISTS (SELECT 1 
       FROM stock_exchanges se 
       WHERE use.stock_exchange_id = se.stock_exchange_id 
         AND use.username = seuser 
         AND se.stock_exchange_manager = semanager); 
+0

感謝您的幫助! – DeaIss