小编Vik*_*ain的帖子

用select子句在oracle中编写一个返回id的插入语句

我正在尝试按如下方式编写查询:

例如:

 DECLARE 
 V_Output varchar(20):='';

 BEGIN
   INSERT INTO T(ID, MY_PK, NAME, VALUE)
   (SELECT ID, NEXT_TRAN_VALUE('T'), NAME, VALUE FROM T WHERE MY_PK = 'NO0000000000013');
   RETURNING MY_PK INTO V_Output;
   DBMS_OUTPUT.PUT(V_Output);
 END;
Run Code Online (Sandbox Code Playgroud)

使用以下功能

create or replace FUNCTION NEXT_TRAN_VALUE (field IN VARCHAR2)   RETURN 
VARCHAR2
IS
n_value   VARCHAR2 (20);
P_APR     VARCHAR2(3);

CURSOR rec_exists IS SELECT * FROM TRANSACTION_SEQ where SEQ_NAME = field ;      
jk_seq_rec  TRANSACTION_SEQ%ROWTYPE;   
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
SELECT LC_CODE into P_APR FROM LOCATION_CONFIG;
OPEN rec_exists;
FETCH rec_exists INTO jk_seq_rec;

IF rec_exists%FOUND THEN
    UPDATE TRANSACTION_SEQ …
Run Code Online (Sandbox Code Playgroud)

sql oracle plsql

5
推荐指数
2
解决办法
3319
查看次数

标签 统计

oracle ×1

plsql ×1

sql ×1