从插入中的函数获取数据

时间:2010-07-06 07:44:17

标签: tsql

在做的时候

create table #tmpsr(
srid int,
W_DiffOriginal decimal(12,2)
)
insert into #tmpsr
        (srid,W_DiffOriginal)
        select sr_id,  --- From Table
        W_DiffOriginal=DiffOriginal --- From Function
        From TBL_SR,dbo.fnc_VoucherDetails_Get(sr_id) ---Table-Valued Function
        Where   SRdoid = 12811 --- Column in the table TBL_SR
        and fsrid=sr_id ---fsrid: Columns in the Table-Valued Function,

我收到了消息:

  

Msg 207,Level 16,State 1,Line 9   列名称'sr_id'无效。

任何想法?

1 个答案:

答案 0 :(得分:1)

我认为错误即将发生,因为您正在调用表单子句中的函数

select .... From TBL_SR,dbo.fnc_VoucherDetails_Get(sr_id)在这种情况下,它无法获得什么是sr_id

所以要在你的select语句中像这样解析这个调用函数

create table #tmpsr( 
srid int, 
W_DiffOriginal decimal(12,2) 
) 
insert into #tmpsr 
        (srid,W_DiffOriginal) 
        select sr_id,  --- From Table 
        (select W_DiffOriginal from dbo.fnc_VoucherDetails_Get(sr_id))=DiffOriginal ---From Function 
        From TBL_SR, ---Table-Valued Function 
        Where   SRdoid = 12811 --- Column in the table TBL_SR 

这可能会解决您的问题