2017-07-26 17 views
0

テーブルの列のdatetime値(列に値が1つしかない)があるかどうかをチェックするストアドプロシージャを作成しようとしています。存在する場合は、日時の値が現在の時刻の+5分であるかどうかを確認する必要があります。そうであれば、別のストアドプロシージャを実行し、その日時を更新します。SQLストアド・プロシージャ・エラーでネストされたif文。 Ex)、AND、OR OR

値がまったく存在しなかった場合は、現在の日付を列に挿入します。

+0

をあなたの質問には適用されないタグを使用しないでください。実際に使用しているデータベースが不明なため、データベースタグを削除しました。実際に使用しているデータベースの* only *タグを追加してください。 –

+0

ストアドプロシージャのような手続き型コードは**ベンダー固有のものです** ** - mysql、postgresql、 'sql-server'、' oracle'または 'db2' - あるいは全く別のものです。 –

+0

存在のトップ1を削除する必要があります。それは必要ではありません。また、変数を設定するときにはトップ1がありますが、順序はありませんので、どの行を取得するのか分かりません。最後に重要なのは....あなたのネストされたIFのAND述語を見てください。変数と同じ変数の計算値を比較しています。ここには何らかの論理的な問題がありますが、あなたが何をしようとしているのかがはっきりしていません。 –

答えて

1
IF (@DateToKeepForTrim >= dateadd(MINUTE,-5,(SELECT top 1 TrimCheck.TrimCheckDate FROM TrimCheck)) AND @DateToKeepForTrim <= dateadd(MINUTE,5, @DateToKeepForTrim) 

次のようになります。

IF (@DateToKeepForTrim >= dateadd(MINUTE,-5,(SELECT top 1 TrimCheck.TrimCheckDate FROM TrimCheck)) AND @DateToKeepForTrim <= dateadd(MINUTE,5, @DateToKeepForTrim)) 
関連する問題