0
文字列を渡す関数の最初の真ん中の姓を取得できます。更新ステートメントの関数にクエリの要素を渡すにはどうすればよいですか。更新ステートメントで関数を呼び出す方法
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
感謝を私はJStyonsを使用しています。だからあなたはテーブルに参加しなければならず、セット式に関数を入れることはできません。私はJr、Srのような接尾辞を取得するためにそれを追加する方法を理解しなければなりません。私は入力パラメータを使用したものを見ました。 – ERPISE
また、これはトリガーのためのもので、挿入後に、私が挿入したときにintellisenceドロップダウンリストに表示される挿入されたテーブルを参照すると、 "multipart identifier" inserted.contact "bound to be bound" 。任意のアイデアトリガーの挿入されたテーブルを参照する方法? USE PCUnitTest GO UPDATE P SET P.First_Name = T.ForeName 、P.Middle_Name = T.Middle_Name 、P.Last_name = T.Surname GMUnitTest.dbo.Contact1 C INNER FROM PCUnitTestをJOIN .dbo.People P ON P.People_ID = C.Key4 CROSSが適用されます。dbo.NameParser(inserted.Contact)T WHERE C.Key1 = '76' ; – ERPISE
'TRIGGER'の' Inserted'テーブルを参照するのに問題はありません。クエリの 'FROM'句にそれを含める必要があります。それに特有の問題がある場合は、元の質問を実行しようとしている実際の質問で更新するか、問題の内容に基づいて新しい質問をすることをお勧めします。 – 3BK