mur*_*ali 0 oracle oracle10g oracle9i oracle11g ora-00933
我想更新Oracle表中的以下过程,但它抛出错误:
CREATE OR REPLACE PROCEDURE update_keywords (aKEYWORD IN VARCHAR2, aCOUNT IN NUMBER)
AS BEGIN
update searchable_keywords
set KEYWORD =:new.aKEYWORD or COUNT =:new.aCOUNT
where KEUWORD_ID = : old.KEYWORD_ID;
END;
Run Code Online (Sandbox Code Playgroud)
这是我的程序.我想searchable_keywords
用keyword_id
(主键)更新表中的关键字和计数,但它抛出错误如下:
LINE/COL ERROR
-------- -----------------------------------------------------------------
3/4 PL/SQL: SQL Statement ignored
4/17 PLS-00049: bad bind variable 'NEW.AKEYWORD'
4/31 PL/SQL: ORA-00933: SQL command not properly ended
4/41 PLS-00049: bad bind variable 'NEW.ACOUNT'
Run Code Online (Sandbox Code Playgroud)
你能帮我解决一下这个问题吗?
这看起来像一个触发器...你不需要acount/akeyword的":new",你需要传入你想要更新的ID.例如.
CREATE OR REPLACE
PROCEDURE UPDATE_KEYWORDS(
AKEYWORD IN VARCHAR2,
ACOUNT IN NUMBER,
AKEYWORD_ID IN NUMBER)
AS
BEGIN
UPDATE
SEARCHABLE_KEYWORDS
SET
KEYWORD = AKEYWORD
, "COUNT" = ACOUNT
WHERE
KEYWORD_ID = AKEYWORD_ID
END;
Run Code Online (Sandbox Code Playgroud)
我不确定为什么你会有一个名为"COUNT"的列...除非你试图在该更新中做一些不同的事情,否则那里的"或"明显错误.
归档时间: |
|
查看次数: |
613 次 |
最近记录: |