【发布时间】:2021-03-26 12:44:37
【问题描述】:
对于十六进制字符串
DECLARE buf RAW(32767);
BEGIN
buf := hextoraw('3082560E3082488E1B02....');
INSERT INTO FINGERPRINT VALUES ('bff17a2c-49b7-4d6c-9c4e-56cb1d35c8c8', '00003', 2, buf, NULL);
END;
如果字符串长度超过 32767,如何做同样的事情?我尝试使用 LONG RAW 而不是 RAW(32767) 但出现错误:
Error report -
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at line 1
06502. 00000 - "PL/SQL: numeric or value error%s"
*Cause: An arithmetic, numeric, string, conversion, or constraint error
occurred. For example, this error occurs if an attempt is made to
assign the value NULL to a variable declared NOT NULL, or if an
attempt is made to assign an integer larger than 99 to a variable
declared NUMBER(2).
*Action: Change the data, how it is manipulated, or how it is declared so
that values do not violate constraints.
【问题讨论】:
标签: database oracle sql-insert