Monday, March 12, 2012

Problem mit Stored Procedure

Die folgende Stored Procedure (MS SQL Server 2005 Express) verursacht
folgende Fehlermeldungen:
"Meldung 4104, Ebene 16, Status 1, Prozedur GetNextSequence, Zeile 11
Der mehrteilige Bezeichner "dbo.Text.text_id" konnte nicht gebunden
werden.
Meldung 4104, Ebene 16, Status 1, Prozedur GetNextSequence, Zeile 11
Der mehrteilige Bezeichner "Language_Text1.language" konnte nicht
gebunden werden."
Hier das Statement zur Generierung der Stored Procedure:
code:
"if exists (select * from dbo.sysobjects where id =3D
object_id(N'[dbo].[GetNextSequence]') and OBJECTPROPERTY(id,
N'IsProcedure') =3D 1)
drop procedure [dbo].[GetNextSequence]
GO
CREATE PROCEDURE [dbo].[GetNextSequence] (
@.article_id int,
@.language nvarchar(10)
)
AS
SET NOCOUNT ON
SELECT
[Type].[type_id],
[Language_Text].[text] AS [type_name],
[Article].[article_id],
[Language_Text_1].[text] AS [title],
[Language_Text_2].[text] AS [description],
[Image].[image_nr],
[Article].[price_chf]
FROM
[Article_Article] INNER JOIN
[Article] ON [Article_Article].[article_id2] =3D [Article].[article_id]
INNER JOIN
[Type] ON [Article].[type_id] =3D [Type].[type_id] INNER JOIN
[Image] ON [Article].[image_id] =3D [Image].[image_id] INNER JOIN
[Article] AS [Article_1] ON [Article_Article].[article_id] =3D
[Article_1].[article_id] INNER JOIN
[Text] ON [Type].[type_name] =3D [dbo.Text].[text_id] INNER JOIN
[Language_Text] ON [Text].[text_id] =3D [Language_Text].[text_id] INNER
JOIN
[Text] AS [Text_1] ON [Article].[title_id] =3D [Text_1].[text_id] INNER
JOIN
[Language_Text] AS [Language_Text_1] ON [Text_1].[text_id] =3D
[Language_Text_1].[text_id] INNER JOIN
[Text] AS [Text_2] ON [Article].[text_id] =3D [Text_2].[text_id] INNER
JOIN
[Language_Text] AS [Language_Text_2] ON [Text_2].[text_id] =3D
[Language_Text_2].[text_id]
WHERE
[Article_1].[article_id] =3D @.article_id AND [Language_Text].[language]
=3D @.language AND [Language_Text1].[language] =3D @.language AND
[Language_Text_2].[language] =3D @.language"
Weshalb funktioniert diese Stored Procedure nicht?
Gibt es irgend ein Assistent f=FCr SQL Server 2005 Express mit dem ich
bestehende Querys in Stored Procedures umwandeln kann?Es tut mir Leid; Mein Deutsch ist SCHLECHT!
Ihren Stored Procedure schauen arbeiten. Was ist Ihren TableDef?
Peace & happy computing,
Mike Labosh, MCSD MCT
Owner, vbSensei.Com
"Escriba coda ergo sum." -- vbSensei
<david.ehrler@.zone3000.ch> wrote in message
news:1150299946.218623.89270@.y41g2000cwy.googlegroups.com...
Die folgende Stored Procedure (MS SQL Server 2005 Express) verursacht
folgende Fehlermeldungen:
"Meldung 4104, Ebene 16, Status 1, Prozedur GetNextSequence, Zeile 11
Der mehrteilige Bezeichner "dbo.Text.text_id" konnte nicht gebunden
werden.
Meldung 4104, Ebene 16, Status 1, Prozedur GetNextSequence, Zeile 11
Der mehrteilige Bezeichner "Language_Text1.language" konnte nicht
gebunden werden."
Hier das Statement zur Generierung der Stored Procedure:
code:
"if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[GetNextSequence]') and OBJECTPROPERTY(id,
N'IsProcedure') = 1)
drop procedure [dbo].[GetNextSequence]
GO
CREATE PROCEDURE [dbo].[GetNextSequence] (
@.article_id int,
@.language nvarchar(10)
)
AS
SET NOCOUNT ON
SELECT
[Type].[type_id],
[Language_Text].[text] AS [type_name],
[Article].[article_id],
[Language_Text_1].[text] AS [title],
[Language_Text_2].[text] AS [description],
[Image].[image_nr],
[Article].[price_chf]
FROM
[Article_Article] INNER JOIN
[Article] ON [Article_Article].[article_id2] = [Article].[article_id]
INNER JOIN
[Type] ON [Article].[type_id] = [Type].[type_id] INNER JOIN
[Image] ON [Article].[image_id] = [Image].[image_id] INNER JOIN
[Article] AS [Article_1] ON [Article_Article].[article_id] =
[Article_1].[article_id] INNER JOIN
[Text] ON [Type].[type_name] = [dbo.Text].[text_id] INNER JOIN
[Language_Text] ON [Text].[text_id] = [Language_Text].[text_id] INNER
JOIN
[Text] AS [Text_1] ON [Article].[title_id] = [Text_1].[text_id] INNER
JOIN
[Language_Text] AS [Language_Text_1] ON [Text_1].[text_id] =
[Language_Text_1].[text_id] INNER JOIN
[Text] AS [Text_2] ON [Article].[text_id] = [Text_2].[text_id] INNER
JOIN
[Language_Text] AS [Language_Text_2] ON [Text_2].[text_id] =
[Language_Text_2].[text_id]
WHERE
[Article_1].[article_id] = @.article_id AND [Language_Text].[language]
= @.language AND [Language_Text1].[language] = @.language AND
[Language_Text_2].[language] = @.language"
Weshalb funktioniert diese Stored Procedure nicht?
Gibt es irgend ein Assistent fr SQL Server 2005 Express mit dem ich
bestehende Querys in Stored Procedures umwandeln kann?|||David,
Sie referieren an "Text" mit dem Bezeichner "dbo.Text" in:
-- "dbo." needs to be removed
INNER JOIN [Text] ON [Type].[type_name] = [dbo.Text].[text_id]
Genau so fuer den anderen Bezeichner:
-- don't forget the "_" in Language_Text_1
INNER JOIN [Language_Text] AS [Language_Text_1]
..
WHERE ... [Language_Text1].[language] = @.language
Viel Erfolg,
Gert-Jan
david.ehrler@.zone3000.ch wrote:
> Die folgende Stored Procedure (MS SQL Server 2005 Express) verursacht
> folgende Fehlermeldungen:
> "Meldung 4104, Ebene 16, Status 1, Prozedur GetNextSequence, Zeile 11
> Der mehrteilige Bezeichner "dbo.Text.text_id" konnte nicht gebunden
> werden.
> Meldung 4104, Ebene 16, Status 1, Prozedur GetNextSequence, Zeile 11
> Der mehrteilige Bezeichner "Language_Text1.language" konnte nicht
> gebunden werden."
> Hier das Statement zur Generierung der Stored Procedure:
> code:
> "if exists (select * from dbo.sysobjects where id =
> object_id(N'[dbo].[GetNextSequence]') and OBJECTPROPERTY(id,
> N'IsProcedure') = 1)
> drop procedure [dbo].[GetNextSequence]
> GO
> CREATE PROCEDURE [dbo].[GetNextSequence] (
> @.article_id int,
> @.language nvarchar(10)
> )
> AS
> SET NOCOUNT ON
> SELECT
> [Type].[type_id],
> [Language_Text].[text] AS [type_name],
> [Article].[article_id],
> [Language_Text_1].[text] AS [title],
> [Language_Text_2].[text] AS [description],
> [Image].[image_nr],
> [Article].[price_chf]
> FROM
> [Article_Article] INNER JOIN
> [Article] ON [Article_Article].[article_id2] = [Article].[article_id]
> INNER JOIN
> [Type] ON [Article].[type_id] = [Type].[type_id] INNER JOIN
> [Image] ON [Article].[image_id] = [Image].[image_id] INNER JOIN
> [Article] AS [Article_1] ON [Article_Article].[article_id] =
> [Article_1].[article_id] INNER JOIN
> [Text] ON [Type].[type_name] = [dbo.Text].[text_id] INNER JOIN
> [Language_Text] ON [Text].[text_id] = [Language_Text].[text_id] INNER
> JOIN
> [Text] AS [Text_1] ON [Article].[title_id] = [Text_1].[text_id] INNER
> JOIN
> [Language_Text] AS [Language_Text_1] ON [Text_1].[text_id] =
> [Language_Text_1].[text_id] INNER JOIN
> [Text] AS [Text_2] ON [Article].[text_id] = [Text_2].[text_id] INNER
> JOIN
> [Language_Text] AS [Language_Text_2] ON [Text_2].[text_id] =
> [Language_Text_2].[text_id]
> WHERE
> [Article_1].[article_id] = @.article_id AND [Language_Text].[language]
> = @.language AND [Language_Text1].[language] = @.language AND
> [Language_Text_2].[language] = @.language"
> Weshalb funktioniert diese Stored Procedure nicht?
> Gibt es irgend ein Assistent fr SQL Server 2005 Express mit dem ich
> bestehende Querys in Stored Procedures umwandeln kann?|||Genau das war der Fehler, jetzt klappts ohne Problem
Besten Dank!!
Gert-Jan Strik schrieb:
> David,
> Sie referieren an "Text" mit dem Bezeichner "dbo.Text" in:
> -- "dbo." needs to be removed
> INNER JOIN [Text] ON [Type].[type_name] =3D [dbo.Text].[text_id]
> Genau so fuer den anderen Bezeichner:
> -- don't forget the "_" in Language_Text_1
> INNER JOIN [Language_Text] AS [Language_Text_1]
> ...
> WHERE ... [Language_Text1].[language] =3D @.language
> Viel Erfolg,
> Gert-Jan
>
> david.ehrler@.zone3000.ch wrote:
icle_id]
IN
d] INNER
d] INNER
] INNER
anguage]

No comments:

Post a Comment