
タイトルの通り、execの結果をoutputパラメータに持たせたいのですが、
どうすればご存知の方、ご教授お願いします。以下のように、count(*)の結果を持たせたいです。以下にサンプルコードを記載しました。
---ストアドabc---
( @aWork int output,
@bWork int output,
@cWork int output,
@IDs varchar )
declare @Sql1 varchar(500)
declare @Sql2 varchar(500)
declare @Sql3 varchar(500)
declare @IDs varchar(500)
set = '1,2,3'
set @Sql1 = 'select count(*) from a where id = ' + IDs
-- @aWork = exec(@Sql1)としたい
exec(@Sql1)
set @Sql2 = 'select count(*) from b where id = ' + IDs
-- @bWork = exec(@Sql2)としたい
exec(@Sql2)
set @Sql3 = 'select count(*) from c where id = ' + IDs
-- @cWork = exec(@Sql3)としたい
exec(@Sql3)
No.1ベストアンサー
- 回答日時:
EXECでSQLを動かした場合は、COUNTの結果は取れないですね。
select @aWork = count(*) from a where id = @IDs
でやれば、OUTPUTで結果を返すんですが、どうしてもEXECじゃ
なきゃダメであれば、EXECじゃなく、sp_executesqlを使って、
下記のようにしてみたらどうでしょう?
-- 実行
EXEC sp_executesql
N'select @aWork = count(*) from a where id = @IDs',
N'@aWork int OUTPUT, @IDs varchar(max)',
@aWork output, @IDs
ご参考までに、どうぞ。
参考URL:http://blogs.sqlpassj.org/yoshihirokawabata/arch …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- Oracle sqlで質問です。 aテーブルとbテーブルがあり、下記のsqlで取得したidとnameに一致しないレ 1 2022/04/20 20:34
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL SQLです。下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 「昨年の各月の総降 1 2023/07/01 00:32
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザー定義関数内でのsp_executesqlプロシージャの使用
SQL Server
-
SQLで列名を変数にできないでしょうか
SQL Server
-
ストアドプロシージャ_カーソルのヒット件数
その他(データベース)
-
-
4
T-SQLの sp_executesql について
SQL Server
-
5
列名に変数を使うことはできないのでしょうか?
SQL Server
-
6
ストアドプロシージャで外部プログラムを起動するには?
SQL Server
-
7
ストアドをまたがるローカル一時テーブル
SQL Server
-
8
SQLServer2005のSQL文での別名の取り扱い
SQL Server
-
9
処理件数を非表示にしたい
SQL Server
-
10
MS SQLServer のSQLで文字列の前にN:
その他(データベース)
-
11
SQLSERVERエージェントからのストアド実行方法について
SQL Server
-
12
SQLServerのストアドで戻り値取得したい。
SQL Server
-
13
SQLSever 一括インポートについて
その他(パソコン・スマホ・電化製品)
-
14
ストアドプロシジャからストアドプロシジャを呼ぶには?
Oracle
-
15
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
16
【PL/SQL】FROM区に変数を使う方法
Oracle
-
17
検索結果の列数を動的に変更したい
SQL Server
-
18
副問合せにLIKE文を使う方法はないでしょうか?
Oracle
-
19
BULK INSERT時のNull許容について
SQL Server
-
20
テーブル名が可変の場合のクエリの書き方
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数テーブルのGROUP BY の使い...
-
フリーマーケット!
-
ローカルルーターモードとは
-
bashスクリプトで特定の文字に...
-
mysqlについて
-
尾形光琳の作品が見たい!
-
製品の最安店舗を取りたい。
-
レコードセットに新規追加する
-
EXISTSでの列名指定
-
データベース内の値をweb内でテ...
-
Dell Latitude C600に合うメモ...
-
JOIN後同一名カラムから値がと...
-
ストアド内でカラム名一覧を取得
-
SQLServerでのデータディクショ...
-
INSERT時の大小比較を含む重複...
-
このSQL文の意味を教えてくださ...
-
verilogに適したvimの設定を探...
-
正規表現を使って前方一致置換...
-
最小値をUPDATE
-
MySQLでvarcharに先頭ゼロをセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
sqlで、600行あるテーブルを100...
-
select文のwhere句に配列を入れ...
-
SQLにて特定の文字を除いた検索...
-
WordpressのContact form 7でzi...
-
SQLサーバから、項目の属性(型...
-
VIEWの元のテーブルのindexって...
-
クエリ表示と、ADOで抽出したレ...
-
マイクラPC版のコマンドで効率...
-
【Transact-sql】 execの結果を...
-
SQL Left Join で重複を排除す...
-
エラー 1068 (42000): 複数の主...
-
[MySQL] UNIQUE制約の値を更新...
-
inner joinをすると数がおかし...
-
1テーブル&複数レコードの更新...
-
Access パラメータクエリをcsv...
-
期間の重複を調べるSQL文につい...
-
Unionした最後にGROUP BYを追加...
-
Updateの複数テーブル条件時のL...
おすすめ情報