Groups | Blog | Home
all groups > sql server dts > july 2004 >

sql server dts : INSERT Problem


Gustavo
7/28/2004 8:47:03 AM
Hi All(an):
As I was advised I created this query:

USE ipd

INSERT INTO dbo.OrderRegulation
(TitleId,YearId, MyIssue, RetId, IssueId, Location, Draw,
Reorder, [Returns], Cost, Price)

SELECT StagingOR.TitleId, StagingOR.YearId,Stagin
gOR.MyIssue, StagingOR.RetId, StagingOR.IssueId,
StagingOR.Location, StagingOR.Draw,
StagingOR.Reorder, StagingOR.
[Returns], StagingOR.Cost, StagingOR.Price
FROM StagingOR LEFT OUTER JOIN
OrderRegulation ON
StagingOR.TitleId = OrderRegulation.TitleId AND
StagingOR.YearId = OrderRegulation.YearId AND
StagingOR.MyIssue =
OrderRegulation.MyIssue AND StagingOR.RetId =
OrderRegulation.RetId AND
StagingOR.IssueId =
OrderRegulation.IssueId
WHERE (dbo.OrderRegulation(StagingOR.TitleId,
StagingOR.YearId, StagingOR.MyIssue, StagingOR.RetId,
StagingOR.IssueId) IS NULL)






that keeps returning the following error:

Server: Msg 208, Level 16, State 1, Line 4
Invalid object name 'dbo.OrderRegulation'.

I am 1000% sure that the table exists and is not
mispelled, the query syntax checks ok and I still get the
error.
What is wrong??
Thanks in advance
Gustavo
Gustavo
7/28/2004 10:19:40 AM
Thanks for the response Allan, but the syntax of my query
parses ok. It's just that I keep getting the error
message that the table OrderRegulation that already
exists is an invalid object.
Does the method require to create the tables as you did
in your query?
Thanks
Gustavo

[quoted text, click to view]
Gustavo
7/28/2004 12:10:15 PM
You were right Allan. SQL told me that it was not a valid
function. I corrected it and it works now.
Thanks a million
Gustavo
[quoted text, click to view]
Allan Mitchell
7/28/2004 4:57:50 PM
Ok

Let me offer an example

CREATE TABLE Staging(col1 int, col2 int, col3 int, primary key(col1,col2))
CREATE TABLE RealTable(col1 int, col2 int, col3 int, primary key(col1,col2))
INSERT Staging VALUES(1,2,3)

INSERT RealTable(col1,col2,col3)
SELECT s.col1,s.col2,s.col3
FROM Staging s LEFT OUTER JOIN RealTable rt
ON s.col1 = rt.col1 AND s.col2 = rt.col2
WHERE rt.col1 IS NULL OR rt.col2 IS NULL OR rt.Col3 IS NULL

INSERT Staging Values(1,3,2)


INSERT RealTable(col1,col2,col3)
SELECT s.col1,s.col2,s.col3
FROM Staging s LEFT OUTER JOIN RealTable rt
ON s.col1 = rt.col1 AND s.col2 = rt.col2
WHERE rt.col1 IS NULL OR rt.col2 IS NULL OR rt.Col3 IS NULL

SELECT * FROM RealTable



--
--

Allan Mitchell MCSE,MCDBA, (Microsoft SQL Server MVP)
www.SQLDTS.com - The site for all your DTS needs.
www.konesans.com - Consultancy from the people who know


[quoted text, click to view]

Allan Mitchell
7/28/2004 5:01:34 PM
forget the

OR rt.Col3 IS NULL


in the INSERT. My hand got carried away.
--
--

Allan Mitchell MCSE,MCDBA, (Microsoft SQL Server MVP)
www.SQLDTS.com - The site for all your DTS needs.
www.konesans.com - Consultancy from the people who know


[quoted text, click to view]

Allan Mitchell
7/28/2004 7:21:18 PM
This

WHERE (dbo.OrderRegulation(StagingOR.TitleId,
[quoted text, click to view]

is invalid syntax in SQL Server. To me that would look like the calling of
a function.

--
--

Allan Mitchell MCSE,MCDBA, (Microsoft SQL Server MVP)
www.SQLDTS.com - The site for all your DTS needs.
www.konesans.com - Consultancy from the people who know


[quoted text, click to view]

AddThis Social Bookmark Button