注册

disql导入问题

Mr.Guan 2025/04/28 140 7

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
./disql 导入sql 文件

image.png

单独sql 是可以执行的
CREATE OR REPLACE FUNCTION TRANSLATE.conv(N VARCHAR2, from_base NUMBER, to_base NUMBER)
RETURN VARCHAR2
IS
digits VARCHAR2(36) := '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
result VARCHAR2(100) := '';
decimal_num NUMBER;
remainder NUMBER;
BEGIN

IF from_base = 10 THEN
BEGIN
decimal_num := TO_NUMBER(N);
EXCEPTION
WHEN INVALID_NUMBER THEN
RAISE_APPLICATION_ERROR(-20001, '输入的字符串无法转换为数字: ' || N);
END;
ELSE
decimal_num := 0;
FOR i IN 1..LENGTH(N) LOOP
decimal_num := decimal_num * from_base + INSTR(digits, UPPER(SUBSTR(N, i, 1))) - 1;
END LOOP;
END IF;

IF decimal_num = 0 THEN
RETURN '0';
END IF;

WHILE decimal_num > 0 LOOP
remainder := MOD(decimal_num, to_base);
result := SUBSTR(digits, remainder + 1, 1) || result;
decimal_num := FLOOR(decimal_num / to_base);
END LOOP;
RETURN result;
END;
image.png

回答 0
暂无回答
扫一扫
联系客服