繁体   English   中英

SQL表变量问题

[英]SQL Table Variable issue

我声明一个表变量,因为APTDAPCO是用户定义的类型

DECLARE @APTDAPCO APTDAPCO

INSERT INTO @APTDAPCO
    SELECT 
        APTD.APCo, 
        APTD.Mth,
        APTD.APTrans,
        APTD.APLine,
        APTD.Amount, 
        APTD.PayType, 
        APTD.PaidDate,
        APCO.RetPayType
    FROM
        [Viewpoint].[dbo].[APTD] WITH (NOLOCK)
    LEFT JOIN 
        [Viewpoint].[dbo].[APCO] WITH (NOLOCK) ON [APCO].[APCo] = [APTD].[APCo]
    WHERE 
        APTD.APCo = 1

这是在一个存储过程中。

当我尝试在select语句中使用此表变量时

SELECT * 
FROM HQCO 
LEFT JOIN @APTDAPCO ON HQCO.CO = @APTDAPCO.APCo

我的存储过程中不断出现编译错误

消息137,级别16,状态1,过程lc_PM11127_CommitmentReport_Optimize,第80行[批处理开始第9行]
必须声明标量变量“ @APTDAPCO”。

我究竟做错了什么?

DECLARE @APTDAPCO table
(APCO varchar(max), mth varchar(max), 
Aptrans varchar(max), apline varchar(max),
Amount  float, paytype varchar(max),
Paiddate datetime, retpaytype varchar(max))
Insert into @APTDAPCO
    Select APTD.APCo, 
    APTD.Mth,
    APTD.APTrans,
    APTD.APLine,
    APTD.Amount, 
    APTD.PayType, 
    APTD.PaidDate,
    APCO.RetPayType
    from [Viewpoint].[dbo].[APTD] WITH (NOLOCK)
    LEFT JOIN [Viewpoint].[dbo].[APCO] WITH (NOLOCK) 
    ON [APCO].[APCo] = [APTD].[APCo]
    Where APTD.APCo=1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM