2017-07-05 2 views
1

私は現在、私のデータベース内のテーブルにデータを追加するには、次のクエリを実行している:オプションの引数を使用してSQLクエリを実行する最適な方法は何ですか?

INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA) 
VALUES (@codigo, @file, @remetente, @mensagem, @unit, @data) 

これはうまく動作します、しかし@file引数は常に存在していない、と私は列がで'Undefined'になりたいですその場合。私はこれを3進演算子を使って簡単に行うことができますが、結果として得られるコードは面倒でおそらくは最適ではありません。これを達成するよりエレガントな方法は何ですか?

Ps:私はmssqlモジュールを使用しています。

+0

私は、クエリが変更されないと仮定し、その変数が存在しなければなりません。したがって、「存在しない」場合、その価値は何ですか? – Siyual

+0

存在しないときは 'undefined 'です。 –

+1

いつでも 'NullIf(@File、 'Undefined')' – Siyual

答えて

3

ご意見に基づき、@fileが存在しない場合、その値は'undefined'です。あなたは、その値を探して、NULLを返すためにNULLIFを使用することができます。

INSERT INTO IDEIAS_INTERACOES (CODIGO, ARQUIVO, REMETENTE, MENSAGEM, UNIT, DATA) 
VALUES (@codigo, NULLIF(@file, 'Undefined'), @remetente, @mensagem, @unit, @data) 
+0

まさに私が探していたもの、ありがとうo / –

関連する問題