我声明一个表变量,因为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
我的存储过程中一直出现编译错误
Msg 137,Level 16,State 1,Procedure lc_PM11127_CommitmentReport_Optimize,Line 80 [Batch Start Line 9]
必须声明标量变量" @ APTDAPCO"。
我做错了什么?
答案 0 :(得分:0)
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