[英]Error in SQL Server 2005 Syntax
这是SQL:
CREATE TABLE dbo.TmpFeesToRules1(Name varchar, LookupId int)
INSERT INTO dbo.TmpFeesToRules1(Name, LookupId)
SELECT DISTINCT Name, 0 FROM Lending.Fee
UNION SELECT DISTINCT Name, 0 FROM Lending.ApplicationFee
INSERT INTO dbo.tblLookup (LookupType, LookupCode, LookupDesc, EditFlag, DeletedFlag, DefaultFlag)
SELECT 'FEE_CODE', Name, Name, 0, 0, 0
FROM dbo.TmpFeesToRules1
UPDATE dbo.TmpFeesToRules1
SET
LookupId = L.LookupID
FROM
dbo.tblLookup L
INNER JOIN dbo.TmpFeesToRules1 T ON T.Name = L.LookupDesc
WHERE
L.LookupType = 'FEE_CODE'
CREATE TABLE dbo.TmpFeesToRules2(FeeId int, Name varchar)
INSERT INTO dbo.TmpFeesToRules2(FeeId, Name)
SELECT FeeId, Name FROM Lending.ApplicationFee
GO
UPDATE Lending.ApplicationFee
SET Lending.ApplicationFee.FeeTypeId = T.LookupId
FROM dbo.TmpFeesToRules2 TT
INNER JOIN dbo.TmpFeesToRules1 T ON T.Name = TT.Name
WHERE Lending.ApplicationFee.FeeId = TT.FeeId
DROP TABLE dbo.TmpFeesToRules1
DROP TABLE dbo.TmpFeesToRules2
这是错误:
无效的对象名称“ dbo.TmpFeesToRules2”。
执行失败,返回代码:1
有任何想法吗?
与Go
或分号无关
您正在更新Lending.ApplicationFee
但是它没有出现在FROM
子句中。
UPDATE Lending.ApplicationFee
SET Lending.ApplicationFee.FeeTypeId = T.LookupId
FROM dbo.TmpFeesToRules2 TT
INNER JOIN dbo.TmpFeesToRules1 T ON T.Name = TT.Name
WHERE Lending.ApplicationFee.FeeId = TT.FeeId
我想这应该像
UPDATE Lending.ApplicationFee
SET Lending.ApplicationFee.FeeTypeId = T.LookupId
FROM Lending.ApplicationFee join dbo.TmpFeesToRules2 TT ON <Some Condition>
INNER JOIN dbo.TmpFeesToRules1 T ON T.Name = TT.Name
WHERE Lending.ApplicationFee.FeeId = TT.FeeId
代替
CREATE TABLE dbo.TmpFeesToRules2(FeeId int, Name varchar)
INSERT INTO dbo.TmpFeesToRules2(FeeId, Name)
SELECT FeeId, Name FROM Lending.ApplicationFee
您可以这样做:
SELECT FeeId, Name
INTO dbo.TmpFeesToRules2
FROM Lending.ApplicationFee
一步即可创建并填充表格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.