Get the result of Select query into a variable and insert it as a column value in another table

StackOverflow https://stackoverflow.com/questions/23606375

  •  20-07-2023
  •  | 
  •  

Domanda

DECLARE count NUMBER;

SELECT max(to_number(param_code))+1 INTO count from abc where interface_code='PQR' ;

INSERT INTO abc
( INTERFACE_CODE
, PARAM_CODE
, DSCR
, PARAM_CHAR
, PARAM_NUMBER
, PARAM_DATE
, TRGA_CODE
)
VALUES
(  'PQR'
,   count 
,   'xyz'
,   ''     
,  ''        
,   ''         
,   '*'
)

I want to execute these 3 statements as a script in Oracle. But this is giving me error.

Please help

È stato utile?

Soluzione

DECLARE
  MY_COUNT NUMBER;
BEGIN
  SELECT MAX(to_number(param_code))+1
  INTO MY_COUNT
  FROM abc
  WHERE interface_code='PQR' ;

  INSERT
  INTO abc
    (
      INTERFACE_CODE ,
      PARAM_CODE ,
      DSCR ,
      PARAM_CHAR ,
      PARAM_NUMBER ,
      PARAM_DATE ,
      TRGA_CODE
    )
    VALUES
    (
      'PQR' ,
      MY_COUNT ,
      'xyz' ,
      '' ,
      '' ,
      '' ,
      '*'
    );
EXCEPTION
WHEN OTHERS THEN
 DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
/
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top