gpt4 book ai didi

java - 如何使用 JDBC 创建 SQL 函数?

转载 作者:行者123 更新时间:2023-11-29 06:01:32 25 4
gpt4 key购买 nike

我想用 JDBC 创建 SQL 函数

CREATE OR REPLACE FUNCTION TEST."TO_STRING"(
nt_in in ntt_varchar2,
delimiter_in IN VARCHAR2 DEFAULT ',')
return varchar2 is
v_idx PLS_INTEGER;
v_str varchar2(32767);
v_dlm VARCHAR2(10);
v_length NUMBER;
v_max_size NUMBER;
begin
v_dlm := delimiter_in;
v_idx := nt_in.FIRST;

v_max_size :=2000;
WHILE v_idx IS NOT NULL LOOP
IF (nvl(length(v_str),0) + length(v_dlm) + length(nt_in(v_idx))) > v_max_size THEN
if v_str is null then
v_str := substr(nt_in(v_idx), 0, v_max_size);
else
v_str := v_str || v_dlm || substr(nt_in(v_idx), 0, v_max_size - length(v_str) - length(v_dlm));
end if;
EXIT;
END IF;
IF (v_str is not null and length(v_str) > 0) THEN
v_str := v_str || v_dlm || nt_in(v_idx);
ELSE
v_str := nt_in(v_idx);
END IF;
v_idx := nt_in.NEXT(v_idx);
END LOOP;
RETURN v_str;
end to_string

,但得到 ORA-00900:无效的 SQL 语句

是否可以使用 JDBC 创建 SQL 函数?我使用 Oracle 数据库 11g 版本 11.1.0.0.0

最佳答案

这是怎么回事?

String sql = "CREATE OR REPLACE FUNCTION TEST.\"TO_STRING\"(......";
connection.createStatement().execute(sql);

当然,你的SQL肯定还是正确的。您实际上在最后一行缺少一个分号:

end to_string;

关于java - 如何使用 JDBC 创建 SQL 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9927948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com