本人存储过程小白,初次接触,写了个简短的存储过程,发现执行的时候报错,大神们帮忙看下,到底是哪里出问题了。
create or replace PROCEDURE XX_P_ORL_ATT20_UPDATE(OR_GID IN VARCHAR2)
AS
CURSOR ORL_GID_CUR
IS
SELECT ORL.ORDER_RELEASE_LINE_GID
FROM ORDER_RELEASE_LINE ORL
WHERE ORL.ORDER_RELEASE_GID=OR_GID
ORL_GID_ROW ORL_GID_CUR%ROWTYPE;
BEGIN
FOR ORL_GID_ROW IN ORL_GID_CUR
LOOP
UPDATE ORDER_RELEASE_LINE ORL
SET ORL.ATTRIBUTE20=
(SELECT XORLE.EXTEND_TEXT1
FROM XX_ORDER_RELEASE_LINE_EXTEND XORLE
WHERE XORLE.ORDER_RELEASE_LINE_GID=ORL_GID_ROW.ORDER_RELEASE_LINE_GID
)
WHERE ORL.ORDER_RELEASE_LINE_GID=ORL_GID_ROW.ORDER_RELEASE_LINE_GID
END LOOP;
COMMIT;
END;
create or replace PROCEDURE XX_P_ORL_ATT20_UPDATE(OR_GID IN VARCHAR2)
AS
CURSOR ORL_GID_CUR
IS
SELECT ORL.ORDER_RELEASE_LINE_GID
FROM ORDER_RELEASE_LINE ORL
WHERE ORL.ORDER_RELEASE_GID=OR_GID
ORL_GID_ROW ORL_GID_CUR%ROWTYPE;
BEGIN
FOR ORL_GID_ROW IN ORL_GID_CUR
LOOP
UPDATE ORDER_RELEASE_LINE ORL
SET ORL.ATTRIBUTE20=
(SELECT XORLE.EXTEND_TEXT1
FROM XX_ORDER_RELEASE_LINE_EXTEND XORLE
WHERE XORLE.ORDER_RELEASE_LINE_GID=ORL_GID_ROW.ORDER_RELEASE_LINE_GID
)
WHERE ORL.ORDER_RELEASE_LINE_GID=ORL_GID_ROW.ORDER_RELEASE_LINE_GID
END LOOP;
COMMIT;
END;
BEGIN
FOR ORL_GID_ROW IN ORL_GID_CUR -- 这里直接使用就可以了,不用定义
create
--or replace
synonym 同义词名
for 表名;注意:表名 你对应的用户是那个,注意你的由查询对应这个表的权限
举例创建用户user_a下的表 tab 同义词 syn_tab create or replace
synonym syn_tab for user_a.tab