我在MS Access中有一个更新查询,如下所示:
UPDATE ([tblDocument-VP]
INNER JOIN [tbltransmittals-VP] ON [tblDocument-VP].OwnerDocumentNo = [tbltransmittals-VP].OwnerDocumentNo)
INNER JOIN tblVendorName ON [tblDocument-VP].[Vendor Name] = tblVendorName.[VENDOR NAME]
SET [tbltransmittals-VP].HyperDoc = [tblDocument-VP]![OwnerDocumentNo] + '-' + [tbltransmittals-VP].[REV] + '#' + [root]+[tblVendorName]![VendorDesc] + '\' + [tblDocument-VP]![Tag No] + '\' + [tblDocument-VP]![OwnerDocumentNo] + '-' + [REV] + '.pdf' + '#';
我想在SQL Server中创建一个视图,但是当我尝试这样做时,我收到错误
'('“
附近的语法不正确
我不知道什么是问题,我也想知道我可以使用视图作为更新查询吗?
答案 0 :(得分:0)
您无法在视图中运行UPDATE
。
视图只能用于读取/显示数据。
您需要的是Stored Procedure。
您的UPDATE
- 查询中也存在多个语法错误。
Here's对INNER JOIN
的
答案 1 :(得分:0)
扩展到GuidoG的评论,SP应该像
CREATE PROCEDURE uspYourProcedureName
AS
UPDATE t2
SET t2.HyperDoc =
t1.[OwnerDocumentNo] + '-' +
t2.[REV] + '#' + [root]+
t3.[VendorDesc] + '\\' + t1.[Tag No] + '\\' + t1.[OwnerDocumentNo] + '-' + [REV] + '.pdf' + '#'
FROM [tblDocument-VP] t1
INNER JOIN [tbltransmittals-VP] t2
ON t1.OwnerDocumentNo = t2.OwnerDocumentNo
INNER JOIN tblVendorName t3
ON t1.[Vendor Name] = t3.[VENDOR NAME]
GO