在一般的int与integer用法中,比如:
create table int_length3(id int);
create table int_length3(id integer);
或者:
declare
id integer;
id2 int;
begin
UPDATE my_testtable t SET (t.co1, t.co2) = (SELECT co1, co2 FROM my_testtable1 WHERE id = 1) WHERE t.id = 1;
end;
以上这样的用法为常规用法;
在2023RP4版本里面,支持以下用法:
int(n),integer(n),其中n的取值为1~19;
当n为1~9时,内部将使用int4存储;
当n为10~19时,内部将使用int8存储;
如:
1)
create table int_length3(id int(4));
create table int_length4(id int(10));
create table int_length5(id int(19));
create table int_length5(id int(25));//该情形将会报错;
create table int_length3(id integer(1));
create table int_length3(id integer(9));
create table int_length3(id integer(18));
create table int_length3(id integer(30)); //该情形将会报错;
2)
declare
id integer(10); //id int(10);
begin
UPDATE my_testtable t SET (t.co1, t.co2) = (SELECT co1, co2 FROM my_testtable1 WHERE id = 1) WHERE t.id = 1;
end;
3)
CREATE OR REPLACE PROCEDURE procedure_name (parameter1 int)
IS
-- 声明变量
variable1 integer(10); //variable1 int(10);
BEGIN
UPDATE my_testtable t SET (t.co1, t.co2) = (SELECT co1, co2 FROM my_testtable1 WHERE id = 1) WHERE t.id = 1;
END;
注意,变长的长度取值范围为整形的1~19;