-1

宣言変数 (テーブルとして) を null に設定できるかどうかを知りたいです。

お気に入り :

DECLARE @TABLE1 AS TABLE (COL1 INT)
SET @TABLE1 = NULL

すでに変数にデータを挿入しようとしているかどうかを知る方法を検索します

4

2 に答える 2

2

いいえ、ありません。

@table にデータを挿入しようとしたかどうかを覚えておく必要がある場合は、別のbit変数をフラグとして使用します。

@table に行が含まれているかどうかを知る必要がある場合は、

if exists (select * from @table1)
begin
    ...
end;
于 2012-05-25T18:47:22.910 に答える
0

行を追加したかどうかについての質問を完了するには、次のことができます。

insert into @TABLE1 (COL1) VALUES ([someYourData])

if @@ROWCOUNT > 0
   -- row addeded
ELSE
   -- nothing added

または、の値を確認して、@@ROWCOUNT追加された行数を確認できます。

insert into @TABLE1 (COL1) VALUES ([someYourData])
print @@ROWCOUNT

私が知っ@TABLE1ていることについてlocal scopeは、ストアプロシージャが終了すると、この変数は削除されます

そしてGSergが言ったように、あなたはそれをチェックするための多くのホエイを持っています:

if exists (select * from @TABLE1)
BEGIN
   --  do something
END

また

if (select count(@@rowcount) from @TABLE1) > 0
BEGIN
   --  do something
END

また

if (select count(*) from @TABLE1) > 0
BEGIN
   --  do something
END
于 2012-05-25T19:01:14.367 に答える