以下の SQL 更新を含む VB コードがあります。
UPDATE table_A SET UPD_FLG = 'N' WHERE UPD_FLG = 'Y'
別の変数/レコード セットで上記のクエリによって更新された行数を調べる必要があります。現在、選択クエリを使用して同じものを取得しています。しかし、EXECUTE などの VB 関数を使用してこれを実現する方法はありますか?
VB6.0を使用しています
Set gCommand = New ADODB.Command
gCommand.CommandType = adCmdText
gCommand.CommandText = sSql1
gCommand.ActiveConnection = gconDb
gCommand.Execute (cnt)
次のように、この目的のために簡単な手順を実行できます。
CREATE PROCEDURE UpdateTables
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @RowCount1 INTEGER
DECLARE @RowCount2 INTEGER
DECLARE @RowCount3 INTEGER
DECLARE @RowCount4 INTEGER
UPDATE Table1 Set Column = 0 WHERE Column IS NULL
SELECT @RowCount1 = @@ROWCOUNT
UPDATE Table2 Set Column = 0 WHERE Column IS NULL
SELECT @RowCount2 = @@ROWCOUNT
UPDATE Table3 Set Column = 0 WHERE Column IS NULL
SELECT @RowCount3 = @@ROWCOUNT
UPDATE Table4 Set Column = 0 WHERE Column IS NULL
SELECT @RowCount4 = @@ROWCOUNT
SELECT @RowCount1 AS Table1, @RowCount2 AS Table2, @RowCount3 AS Table3, @RowCount4 AS Table4
END
参照:
また
ストアド プロシージャの影響を受けるレコードの数を取得するにはどうすればよいですか?
VB でのこの手順の使用: