Oracle PL / SQL脚本,递增数字

Mar*_*eon 4 oracle plsql

寻找一种使用等效于Java ++语法来增加变量的创建Oracle脚本的方法。

即:

int id=10
DELETE MYTABLE;
INSERT INTO MYTABLE(ID, VALUE) VALUES (id++, 'a value');
INSERT INTO MYTABLE(ID, VALUE) VALUES (id++, 'another value');
...
Run Code Online (Sandbox Code Playgroud)

尝试使用变量而不是序列,以便我可以多次运行,并得到相同的结果。

Jus*_*ave 8

PL / SQL没有++语法糖。您需要显式更改变量的值。

DECLARE
  id integer := 10;
BEGIN
  DELETE FROM myTable;
  INSERT INTO myTable( id, value ) VALUES( id, 'a value' );
  id := id + 1;
  INSERT INTO myTable( id, value ) VALUES( id, 'another value' );
  id := id + 1;
  ...
END;
Run Code Online (Sandbox Code Playgroud)

那时,由于要确保一致性,最好对id值进行硬编码,就像对值进行硬编码一样value,即

BEGIN
  DELETE FROM myTable;
  INSERT INTO myTable( id, value ) VALUES( 10, 'a value' );
  INSERT INTO myTable( id, value ) VALUES( 11, 'another value' );
  ...
END;
Run Code Online (Sandbox Code Playgroud)