ich zusammengestellt haben, die Sicht folgend erstellen:eine Ansicht in einer gespeicherten Prozedur erstellen - zu unerwarteten Ergebnissen
CREATE VIEW rm_exporttable
AS
SELECT DISTINCT
[Item].ID,[Item].ItemLookupCode,
[ItemClassComponent].Detail1,[ItemClassComponent].Detail2,
[ItemClassComponent].Detail3,[ItemClass].SubDescription1,
[ItemClass].SubDescription2,
[Item].Description,
ISNULL(CONVERT(varchar(50), [Item].Notes), '') Notes,
[Department].Name as DepartmentName,
[Department].Code DepartmentCode,
[Category].Name as CategoryName,
[Category].Code as CategoryCode,
[Item].Price, [Item].SalePrice, [Item].Cost,
[Tax].Percentage as Tax, [Item].Quantity,
[Item].ReplacementCost,
ISNULL(CONVERT(varchar(50), [Alias].Alias), '') Alias,
[Item].WebItem,
CASE
WHEN [ItemDynamic].StoreID = 6
THEN [ItemDynamic].Price
ELSE ''
END as GoddardsPrice,
CASE
WHEN [ItemDynamic].StoreID = 5
THEN [ItemDynamic].Price
ELSE ''
END as GoldingPrice,
[Item].LastUpdated
FROM
Item
LEFT JOIN
ItemClassComponent ON [Item].ID = [ItemClassComponent].ItemID
LEFT JOIN
ItemClass ON [ItemClassComponent].ItemClassID = [ItemClass].Id
LEFT JOIN
Department ON [Department].ID = [Item].DepartmentID
LEFT JOIN
Category ON [Category].ID = [Item].CategoryID
LEFT JOIN
Tax ON [Tax].ID = [Item].TaxID
LEFT JOIN
Alias ON [Alias].ItemId = [Item].ID
LEFT JOIN
ItemDynamic ON [Item].Id = [ItemDynamic].ItemID
LEFT JOIN
rm_procedurelastran ON [Item].LastUpdated > rm_procedurelastran.date
WHERE
[Item].WebItem = 1
AND [Item].LastUpdated > [rm_procedurelastran].date
Dies allein absolut gut zu funktionieren scheint. Jetzt versuche ich es in eine einfache gespeicherte Prozedur wie folgt zu setzen:
Dies scheint jedoch nicht zu funktionieren. Das Verfahren scheint gut zu laufen, aber wenn ich eine einfache select *
-Anweisung für die Tabelle, die es den Fehler zurückgibt:
Cannot convert a char value to money. The char value has incorrect syntax.
Es hat sich auch nicht alle Spalten erstellen verwaltet.
Kann mir jemand erklären, was ich falsch mache?
Danke.
Ich verstehe nicht ... * warum * versuchst du, eine Ansicht in einer gespeicherten Prozedur zu erstellen ...? – Siyual
Warum versuchen Sie, eine Ansicht in einer Prozedur zu erstellen? Was passiert, wenn Sie Ihren Prozess ein zweites Mal ausführen? –
Ich bin etwas begrenzt durch eine Software, die eine Prozedur ausführt und dann eine Ansicht exportiert. Also brauche ich die Prozedur, um zuerst die Ansicht zu generieren. – Revokez