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;
4

1 に答える 1

3

UPDATE ステートメントには結合がありません。この質問Oracle SQL のドキュメントを参照してください。

あなたの場合、私はこのようなものを書きます

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);
于 2013-08-19T21:09:16.187 に答える