多语句表值函数问题

问题描述

我对多语句表值函数有疑问。这段代码有什么问题

SET ANSI_NULLS ON;
GO
SET QUOTED_IDENTIFIER ON;
GO

CREATE FUNCTION FN_BFS_CFS_BALANCE_VIW
(
    @param1 VARCHAR
)
RETURNS @table TABLE
(
    DAT VARCHAR,COD_ACN_KOL VARCHAR,DES_ACN_KOL VARCHAR,COD_ACN_MOIN VARCHAR,DES_ACN_MOIN VARCHAR,COD_ACN_TAFSIL VARCHAR,DES_ACN_TAFSIL VARCHAR,COD_fareI1 VARCHAR,DES_fareI1 VARCHAR,COD_fareI2 VARCHAR,DES_fareI2 VARCHAR,TYP_FRGN INT,DES_FRGN VARCHAR,TYP_dpn INT,DES_dpn VARCHAR,FLG_129 INT,DES_129 VARCHAR,AMN_DBT INT,AMN_CRD INT,COD_MONEY VARCHAR,DES_MONEY VARCHAR,AMN_DBT_FRGN INT,AMN_CRD_FRGN INT
)
AS
BEGIN

    EXEC (' call tpout.set_context(''ParaM1'',' + '' + @param1 + '' + ' AT [LS_New2CFS]');

    SELECT DAT,COD_ACN_KOL,DES_ACN_KOL,COD_ACN_MOIN,DES_ACN_MOIN,COD_ACN_TAFSIL,DES_ACN_TAFSIL,COD_fareI1,DES_fareI1,COD_fareI2,DES_fareI2,TYP_FRGN,DES_FRGN,TYP_dpn,DES_dpn,FLG_129,DES_129,AMN_DBT,AMN_CRD,COD_MONEY,DES_MONEY,AMN_DBT_FRGN,AMN_CRD_FRGN
    FROM LS_New2CFS..TPOUT.BFS_CFS_BALANCE_VIW;


    RETURN;

END;

当我执行此代码时,将显示错误

PS:[LS_New2CFS]是Oracle链接服务器。 [BFS_CFS_BALANCE_VIW]是Oracle数据库中的视图。

信息444,级别16,状态2,过程FN_BFS_CFS_BALANCE_VIW,第37行[批处理开始第5行]
函数中无效地使用了副作用运算符“ EXECUTE STRING”。

信息443,级别16,状态14,过程FN_BFS_CFS_BALANCE_VIW,第33行[批处理开始第5行]
函数中包含的Select语句无法将数据返回给客户端。

谢谢你

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)