Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 多语句表值函数问题_Sql Server 2008_Dynamic Programming_Dynamic Sql_Sql Function - Fatal编程技术网

Sql server 2008 多语句表值函数问题

Sql server 2008 多语句表值函数问题,sql-server-2008,dynamic-programming,dynamic-sql,sql-function,Sql Server 2008,Dynamic Programming,Dynamic Sql,Sql Function,我对多语句表值函数有问题。这个代码怎么了 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

我对多语句表值函数有问题。这个代码怎么了

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\u New2CFS]
是Oracle链接服务器<代码>[BFS\U CFS\U BALANCE\U VIW]是Oracle数据库中的一个视图

Msg 444,16级,状态2,程序FN_BFS_CFS_BALANCE_VIW,第37行[批次起始行5]
在函数中使用副作用运算符“EXECUTE STRING”无效

Msg 443,第16级,第14状态,程序FN_BFS_CFS_BALANCE_VIW,第33行【批次起始行5】
函数中包含的Select语句无法向客户端返回数据


多亏了您

函数无法调用存储过程。此外,要使用多语句TVF,需要将数据插入到函数中声明的表中,然后返回该表。i、 e.
INSERT@table()从dbo.View中选择;返回@Table。顺便说一句,这可能值得一读:顺便说一句:SQLServer2008和2008R2现在已经没有扩展支持了--该升级了!嘿,加雷斯,谢谢你的工作。我试着改变我的习惯。