Ich kann den ersten, mittleren, letzten Namen für eine Funktion, die eine Zeichenfolge übergeben. Wie übergebe ich das Element in der Abfrage an die Funktion für eine Update-Anweisung.So rufen Sie Funktion in update-Anweisung
--test Update-Logik und den Namen Parsen
USE PCUnitTest
UPDATE p
SET --Need FIRST_NAME, MIDDLE_NAME, LAST_NAME
p.FIRST_NAME = SELECT forename FROM (SELECT * FROM dbo.NameParser(c.CONTACT)) AS FirstName, --shows multipart identifier could not be bound
p.FIRST_NAME = SELECT forename FROM (SELECT * FROM dbo.NameParser('Andy D Where')) AS FirstName, --returns Andy
p.MIDDLE_NAME = SELECT middle_name FROM (SELECT * FROM dbo.NameParser('Andy D Where')) AS MiddleName, --returns D
p.LAST_NAME = SELECT surname FROM (SELECT * FROM dbo.NameParser('Andy D Where')) AS LastName --returns Where
FROM GMUnitTest.dbo.CONTACT1 c
JOIN PCUnitTest.dbo.PEOPLE p
ON p.PEOPLE_ID = c.KEY4
WHERE c.Key1 = '76'; --Test with a current string
GO
Dank benutze ich die JStyons. Sie müssen also einer Tabelle beitreten, und Sie können keine Funktion in den Ausdruck setzen. Ich muss nur herausfinden, wie ich es addieren kann, um Suffixe wie Jr.Sr. zu erhalten. Ich habe das gesehen, das Eingabeparameter verwendet, ich werde es auch versuchen. – ERPISE
auch, das ist für einen Trigger, für einfügen nach, wenn ich referenziere die eingefügte Tabelle, die in der Dropdown-Liste intelliscence zeigt, wenn ich eingabed, bekomme ich den Fehler, "die Multipart-Kennung" insert.contact "konnte nicht gebunden werden" . Irgendeine Idee, wie man die eingefügte Tabelle für einen Auslöser referenziert? USE PCUnitTest GO UPDATE P SET P.First_Name = T.ForeName , P.Middle_Name = T.Middle_Name , P.Last_name = T.Surname FROM GMUnitTest.dbo.Contact1 C INNER JOIN PCUnitTest .dbo.Personen P ON P.People_ID = C.Key4 CROSS APPLY dbo.NameParser (eingefügter.Kontakt) T WHERE C.Key1 = '76' ; – ERPISE
Es gibt kein Problem, die "Eingeschaltete" Tabelle in einem "TRIGGER" zu referenzieren. Sie müssen es nur in die FROM-Klausel Ihrer Abfrage einfügen. Wenn Sie bestimmte Probleme damit haben, würde ich empfehlen, Ihre ursprüngliche Frage mit der echten Abfrage zu aktualisieren, die Sie ausführen möchten, oder eine neue Frage basierend auf dem Problem zu stellen, das Sie haben. – 3BK