小编Wal*_*icz的帖子

"srv_paramset中的错误." 执行sp_OAGetProperty时

我试图获取节点的节点值type.它必须返回string"my_type",但返回一个空字符串.

declare @v_msg int
DECLARE @loadXML_result INT
declare @v_line varchar(4000)
declare @nodelist int
DECLARE @node      INT   
DECLARE @childnode INT
DECLARE @CHILDNODE_nodevalue VARCHAR(MAX)

set @v_line = 
'<message>
<type>my_type</type>
</message>';

EXECUTE sp_OACreate 'MSXML2.DOMDocument.6.0',@v_msg OUTPUT
EXECUTE sp_OAMethod @v_msg,'loadXML',@loadXML_result OUTPUT,@v_line

EXECUTE sp_OAMethod @v_msg,'getElementsByTagName',@nodelist OUTPUT,'type'
EXECUTE sp_OAMethod @nodelist,'Item',@node OUTPUT,0
EXECUTE sp_OAGetProperty @node,'firstChild',@childnode OUTPUT
print concat('child_node ',@childnode)
EXECUTE sp_OAGetProperty @childnode,'nodeValue',@CHILDNODE_nodevalue OUTPUT

print concat ('CHILDNODE_nodevalue ',@CHILDNODE_nodevalue)
Run Code Online (Sandbox Code Playgroud)

进一步检查sp_OAGetProperty显示错误的执行状态:

DECLARE @hr INT
EXECUTE @hr = sp_OAGetProperty @node,'Text',@CHILDNODE_nodevalue OUTPUT

--Check status of the previous …
Run Code Online (Sandbox Code Playgroud)

xml sql-server

3
推荐指数
1
解决办法
1410
查看次数

在动态sql PostgreSQL中创建函数

是否可以在 PostgreSQL 的动态 SQL 中创建函数或执行匿名块?我正在寻找这样的东西:

Create or replace FUNCTION fff(p1 int)
LANGUAGE  plpgsql
  AS $$
  DECLARE
   v_Qry  VARCHAR(4000);
  BEGIN
    v_Qry := '
    Create or replace FUNCTION fff_DYNAMIC_SQL()
    LANGUAGE  plpgsql
    AS $$
    DECLARE
    v1  INTEGER;
    begin
     v1 := ' || p1 || ';
     RETURN;
    END; $$;';
   EXECUTE v_Qry;
   RETURN;
END; $$;
Run Code Online (Sandbox Code Playgroud)

sql postgresql dynamic-sql

1
推荐指数
1
解决办法
1249
查看次数

标签 统计

dynamic-sql ×1

postgresql ×1

sql ×1

sql-server ×1

xml ×1