PL/SQL XMLTYPE 从用户那里获取输入
PL/SQL XMLTYPE taking input from user
在 :name 值的绑定选项卡中传递到 xmlsequence 下面时,我收到以下错误报告。
<name>
<key>en-us</key>
<text>english</text>
</name>
Error report:
ORA-06550: line 4, column 13:
PL/SQL: ORA-00932: inconsistent datatypes: expected - got CHAR
ORA-06550: line 4, column 5:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
declare
v_name xmltype;
begin
select :name into v_name from dual;
end;
任何人都可以帮助我如何在 sqldeveloper 的输入绑定选项卡中传递 :name
值的值吗?
您正在传递一个字符串值,因此您需要将其显式转换为 XMLType:
select xmltype(:name) into v_name from dual;
或者在没有 SQL 上下文切换的情况下分配它:
v_name := xmltype(:name);
在 :name 值的绑定选项卡中传递到 xmlsequence 下面时,我收到以下错误报告。
<name>
<key>en-us</key>
<text>english</text>
</name>
Error report:
ORA-06550: line 4, column 13:
PL/SQL: ORA-00932: inconsistent datatypes: expected - got CHAR
ORA-06550: line 4, column 5:
PL/SQL: SQL Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
declare
v_name xmltype;
begin
select :name into v_name from dual;
end;
任何人都可以帮助我如何在 sqldeveloper 的输入绑定选项卡中传递 :name
值的值吗?
您正在传递一个字符串值,因此您需要将其显式转换为 XMLType:
select xmltype(:name) into v_name from dual;
或者在没有 SQL 上下文切换的情况下分配它:
v_name := xmltype(:name);