0

I'm not quite sure why this stored is not working. I am getting an message saying "pl/sql statement not properly ended".

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;
DeaIss
  • 2,525
  • 7
  • 27
  • 37

1 Answers1

3

There are no joins in UPDATE statement, see this question and Oracle SQL documentation.

In your case I would write something like this

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);
Community
  • 1
  • 1
Sebastian Cichosz
  • 889
  • 13
  • 22