Ich habe eine Funktion erstellt:Problem mit Update mit Skalarfunktion
CREATE FUNCTION FindDistrictId (@param XML)
RETURNS INT
(...)
, die ich wie in einer gespeicherten Prozedur verwenden möchten:
CREATE PROCEDURE UpdateDistinctID
AS
UPDATE Notices SET DistinctId = FindDistrictId(Notices.XmlContent)
WHERE DistinctId = 0
ich ‚FIndDistrictId ist kein gebaut anerkannt -in Funktionsname 'wenn ich das versuche. Ich dachte, dass ich vielleicht Set field = function()
nicht tun kann, aber dann überprüfte ich here und ich denke, dass es funktionieren sollte. Irgendeine Idee, warum es nicht ist? Die Funktion wird für sicher im my db erstellt, ich überprüft sys.object
ich versuche zu tun, dass, aber jetzt wird der Fehler ‚kann nicht entweder Spalte dbo oder die benutzerdefinierte Funktion oder Aggregat‚dbo.FindDistrictID‘oder den Namen ist ambigiuous finden‘. Doch dieser Code: declare @temp xml gesetzt @temp = (xmlcontent von Mitteilungen wählen, wo NoticeId = 25647) print (dbo.FindDistrictId (@temp)) scheint ok – matt99
meine Fehler zu arbeiten, scheint mit zu funktionieren Ihre Änderung, danke – matt99