UIで選択する言語のリストを含むEmployee.emp.Language
というテーブルがあります。私はこのテーブルにレコードを追加することができず、自分の問題を解決するためにUIを直接編集できません。サブクエリのTSQL Union
NULL
を結果セットに追加するオプションをクエリに追加する必要があります。これにより、ユーザはドロップダウンリストからnull
を選択することができます。
DECLARE @nulls AS TABLE (fieldLabel VARCHAR(10) NULL, fieldValue VARCHAR(10)
NULL)
INSERT INTO @nulls(fieldLabel, fieldValue)
VALUES ('NULL', NULL)
SELECT
(
SELECT LanguageName AS FieldLabel,
LanguageID AS FieldValue
FROM Employee.emp.Language
WHERE IsRetired = 0
UNION
SELECT fieldLabel ,
fieldValue
FROM @nulls
FOR XML PATH ('options'), ELEMENTS, TYPE, ROOT ('languages')
)
私のリストは、私のドロップダウンリストで選択するnull
オプションが含まれていますが、私は、ストアドプロシージャの中に保存するために、コードのこの部分を取得する問題を抱えています。
私は取得していますエラーは次のとおりです、とすぐに私はそれ以下のunion
とselect
を削除するようThe FOR XML clause is invalid in views, inline functions, derived tables, and subqueries when they contain a set operator. To work around, wrap the SELECT containing a set operator using derived table syntax and apply FOR XML on top of it.
すべてが正常に動作します。
他にどのようにして結果セットをテーブルに直接追加することなく値を追加できますか?
なぜ 'NULL' でなければなりません。 NULL =不明です。 Employee.emp.Language表LanguageName = 'Unknown'にレコードを挿入できます。 – Wendy
@Wendy - このレコードを追加してソーステーブルを変更できません。私は時間の他の99%、NULLが選択可能でないか、リストに表示されないオプションである小さな回避策のための解決策をハッキングしています。彼は "NULL" の文字列と値フィールドにNULL値を挿入さ – SBB