- PR -

ストアドプロシージャでレコードの有無による分岐するには

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/03/18
投稿数: 1
投稿日時: 2005-03-18 15:51
在、アクセスのVBにて下のように、Dcountを使用した分岐条件を使用しているのです。
最近、SQLserverの、ストアドプロシージャにVBを移行しようと考えているのですが、どうしてもうまくいきません。

If DCount("*", "T_概要台帳", "[CD] = '" & Me.CD & "'") = 0 Then
(0件だった場合に、追加するSQLを入れるます。)
End If

簡単な筆問かもしれませんが、どうぞよろしくお願いします
めだか
大ベテラン
会議室デビュー日: 2004/11/11
投稿数: 109
投稿日時: 2005-03-24 16:13
どうしてもうまくいきませんというのはどういう方法を試されたのでしょうか?

select分でデータ抽出して変数にいれてやるだけのような気がしますが

select @datacount = field from table

if @datacount=0 then
begin
処理
end

select分はグループ化してカウント関数で集計するようなものになりますね。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-03-26 11:28
if文にthenは不要ですよ。
「0件なら」という条件(レコードがない)なら

if not exists(select hoge from piyo where hoge = 'hoge')
begin
<<SQL>>
end

の方がいいかなと思います。
1

スキルアップ/キャリアアップ(JOB@IT)