Oracle 插入where子句
我知道这不适用于克劳斯,这是一个详细的街区,请帮帮我,我做了什么,但对我不起作用,请帮帮我Oracle 插入where子句,oracle,plsql,oracleforms,Oracle,Plsql,Oracleforms,我知道这不适用于克劳斯,这是一个详细的街区,请帮帮我,我做了什么,但对我不起作用,请帮帮我 INSERT INTO LOOPT2 (TOKEN_STATUS) VALUES (1) where Token_NO = :Token_No; 似乎您需要一个if语句,例如: DECLARE TOKEN_NO NUMBER; TOKEN_STATUS1 NUMBER; BEGIN GO_BLOCK('TOKEN_REC2'); FIRST_RECORD; LOOP
INSERT INTO LOOPT2 (TOKEN_STATUS)
VALUES (1) where Token_NO = :Token_No;
似乎您需要一个
if
语句,例如:
DECLARE
TOKEN_NO NUMBER;
TOKEN_STATUS1 NUMBER;
BEGIN
GO_BLOCK('TOKEN_REC2');
FIRST_RECORD;
LOOP
BEGIN
SELECT SR_NO, TOKEN_STATUS
INTO TOKEN_NO, TOKEN_STATUS1
FROM LOOPT2
WHERE TOKEN_STATUS = :TOKEN_NO
AND V_ID=1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO LOOPT2 (TOKEN_STATUS)
VALUES (1);
END;
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP;
COMMIT;
END;
或表格:
有没有人能回答这个问题:(你能详细说明你的问题吗?你的问题太模糊了。你想更新列
TOKEN\u STATUS
,其中TOKEN\u no可用,如果不可用,则插入?感谢barbaros,我有一个表loopt2,其中列sr\u no等于TOKEN\u no,其中包含数据,因为我将在表单详细信息块中键入,并且TOKEN STATUS没有y数据我想在提交表单时将该列更新为1,并将令牌状态更改为1其中sr_no=:token_noupdate LOOPT2 SET token_status=1其中sr_no=:token_no
是您想要的全部吗?可能没有PL/SQL?亲爱的@MaheswaranRavisankar我这样做了,但没有为我工作update LOOPT2 SET LOOPT2.sr no=:TOKEN\u REC2.TOKEN\u NO;COMMIT;
谢谢barbaros我尝试了这两种方法,但不幸的是对我无效任何建议一件事是找不到任何数据,但我在SR\u中有相同的数据没有,但不在TOKEN\u状态是否有任何对我有效的方法sql%找到了,但在编译时提供了错误@user2943102。你确定TOKEN\u NO=:TOKEN\u NO
排序规则还是应该是TOKEN\u STATUS1=:TOKEN\u NO
?顺便说一句,在End
之前执行Commit
。哦,你是对的,where子句是TOKEN\u NO=:TOKEN\u NO
不是TOKEN状态我已更改但未工作
..
EXCEPTION
WHEN NO_DATA_FOUND THEN
IF ( TOKEN_NO = :TOKEN_NO ) THEN
INSERT INTO LOOPT2 (TOKEN_STATUS)
VALUES (1);
END IF;
END;
..
..
EXCEPTION
WHEN NO_DATA_FOUND THEN
INSERT INTO LOOPT2 (TOKEN_STATUS)
SELECT 1 FROM DUAL WHERE TOKEN_NO = :TOKEN_NO;
END;
..