SQL Server

複数のストアドプロシージャ (stored procedure) でローカルテンポラリテーブルを共有する

投稿日:2013/02/20 更新日:

ローカルテンポラリテーブルを共有する

先日来より悩んでいたSQLServerでの

の解決策が見つかりました。

親で作って子に渡す

結論としては「親のストアドプロシージャ (stored procedure) でテンポラリテーブルを
作って子のストアドプロシージャ (stored procedure) で参照する」です。

言われてみれば悩むこともない事でした。(^^ゞ

まずは親ストアドプロシージャ (stored procedure)です。

子ストアドプロシージャ (stored procedure)です 。

これを呼び出すと

結果は

ちゃんとマニュアル読めば書いてます

ちなみにヒント

ストアド プロシージャで作成されたローカル一時テーブルは、
ストアド プロシージャが終了すると自動的に削除されます。
テーブルは、そのテーブルを作成したストアドプロシージャに
よって実行される任意の入れ子になったストアドプロシージャ
から参照できます。
テーブルは、そのテーブルを作成したストアドプロシージャを
呼び出したプロセスから参照することはできません。

と言うことで解決です。

当サイトのおすすめ記事

パソコン 1

初心者でも失敗しないレンタルサーバーの選び方ですが、最近ではブログを立ち上げて、そこから広告収入を得る「アフィリエイト」が随分一般的になりました。 私の周りでも実際にやっている人が多くいます。 アフィ ...

プログラミング 2

SQLでIFを書けばWHERE句の内容を変えて検索できますが、条件ごとに同じようなSQLを 複数回書くのは面倒なので、1行で分岐できないかと言う事でSQLを作って見ました。 SQLでIFを使わずに条件 ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

SQLServerでは「ユーザー定義型」と呼ばれる独自のテーブル型をした戻り値を返す関数を作成することができます。 その作り方と使い方を解説します。 SQLServerでテーブル型を戻り値とする関数を ...

5

アフィリエイトでいきなり成果を出すのは難しいです。 でも、成果がないとレンタルサーバー代やドメイン代がペイできません。 しかも長い間、結果がでないとやる気もなくなってしまいます。 そういったことを防ぐ ...

-SQL Server
-, ,

Copyright© ソフトウェア開発日記 , 2018 All Rights Reserved.