表字段创建最大长度:4000 VARCHAR2
CREATE TABLE x_vctest(a VARCHAR2(4000));
CREATE TABLE x_vctest(a VARCHAR2(4001)); --err
CREATE TABLE x_vctest(a VARCHAR2(4001)); --err
plsql变量定义最大长度:32767 VARCHAR2
CREATE OR REPLACE PROCEDURE x_vcprc(p IN VARCHAR2 DEFAULT NULL)
IS
x_var VARCHAR2(32767);
--x_var2 VARCHAR2(32768); -- err
BEGIN
--dbms_output.put_line(p);
NULL;
END x_vcprc;
CREATE OR REPLACE PROCEDURE x_vcprc(p IN VARCHAR2 DEFAULT NULL)
IS
x_var VARCHAR2(32767);
--x_var2 VARCHAR2(32768); -- err
BEGIN
--dbms_output.put_line(p);
NULL;
END x_vcprc;
plsql调用参数最大长度:65535 VARCHAR2
DECLARE
lv_test VARCHAR2(32767);
BEGIN
FOR i IN 1 .. 32767
LOOP
lv_test := lv_test || '-';
END LOOP;
dbms_output.put_line(lengthb(lv_test || lv_test || '1')); --65535,65536 --> err
x_vcprc(lv_test || lv_test || '1');
END;
DECLARE
lv_test VARCHAR2(32767);
BEGIN
FOR i IN 1 .. 32767
LOOP
lv_test := lv_test || '-';
END LOOP;
dbms_output.put_line(lengthb(lv_test || lv_test || '1')); --65535,65536 --> err
x_vcprc(lv_test || lv_test || '1');
END;
本文介绍了在Oracle PL/SQL中定义变量和创建表字段时的最大长度限制。表字段使用VARCHAR2类型时,最大长度为4000;PL/SQL变量的最大长度为32767;而调用参数的最大长度可达65535。这些限制对于理解Oracle数据库的数据存储和程序设计至关重要。
430

被折叠的 条评论
为什么被折叠?



