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);