寻找一种使用等效的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');
...
尝试使用变量而不是序列,因此我可以多次重新运行此结果。
答案 0 :(得分:5)
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;
此时,由于您希望确保一致性,因此您可能最好对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;
答案 1 :(得分:0)
您可以创建SEQUENCE来增加数字。
----CREATING SEQUENCE:
SQL> create sequence seq_name
2 start with 1
3 increment by 1
4 NOCACHE
5 NOCYCLE
6 ;
创建序列。
----EXECUTION:
SQL> select seq_name.nextval from dual;
NEXTVAL
1
SQL> select seq_name.nextval from dual;
NEXTVAL
2
您还可以创建一个可以在任何地方调用的函数:
----CREATING FUNCTION:
create or replace function sequence_func(a_number IN Number)
RETURN Number
AS
id Number;
Begin
select seq_name.nextval into id from dual;
Return id;
end;
/
创建的功能。
----EXECUTION:
SQL> select sequence_func(1) seq from dual;
seq
1
P.S: startwith 和增量值可根据您的要求设置。