• 締切済み

ストアドのINパラメータ

10gを使ってます。 ストアドで、INパラメータの値をselect文の結果として別テーブルにinsertするには どうすればいいのでしょうか?

みんなの回答

回答No.3

では、#1のヤツを下のように変えてみたら、どうなるのかな~?(エイリアス付加) insert into AAA ( フィールド1 ,フィールド2 ,フィールド3 ) select ZZZ.フィールド1 ,BBB ,ZZZ.フィールド2 from テーブル名 ZZZ

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

こんばんは。 もう少し具体的に・・・。 これじゃ、何がしたいのかがよくわからないし、 #1さんの結果がどうダメなのかもわからないです・・・。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

例えば、AAA テーブルに BBB(INパラメータ)を入れるならば insert into AAA ( フィールド1 ,フィールド2 ,フィールド3 ) select フィールド1 ,BBB ,フィールド2 from テーブル名 ではダメですか?

itachi020
質問者

補足

だめでした。 BBBはテーブルの要素ではないといった感じの メッセージが出てしまいます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ストアドから別のストアドを作成できますか?

    パラメータ付きストアドから、そのパラメータを展開したSELECT文のストアドを作成する事は可能でしょうか? アクセスのデータシートビューを表示するにはパラメータがあっても指定出来ないようなんです。 「DoCmd.OpenStoredProcedure」でパラメータ付きのストアドを実行すると、 パラメータ用のインプットボックスが表示されその都度入力しなくてはなりません。 そこで、アクセスから@フィールド名 と @テーブル名 をパラメータとしてストアドを実行し、 ストアドで「SELECT @フィールド名 from @テーブル名」パラメータを展開したSELECT文にして、 別の名前を付けたパラメータ無しのストアドとして登録し、そのストアドを アクセスの「DoCmd.OpenStoredProcedure」で実行すれば、目的のデータシートビューを表示出来ると考えました。 ストアドからストアドを作成できるのでしょうか、可能であれば方法を教えて下さい。

  • ASP.NETのIN句のパラメータについて

    ASP.netでの質問です。データセットを作成し、テーブルアダプタにて メソッドを作成しました。がsqlでIN句でパラメータを指定すると エラーがでます。DBはoracleです。 select * from table where param IN (:param) パラメータは可変長でいくつでるか分かりません。 中の値は(値1,値2,値3)という感じです。 IN句が使えないと他にどうすればよいでしょうか?

  • ストアドにしたらエラーになる

    10gを使ってます。 1.ワークテーブル作成 2.そのテーブルにインサート の一連のスクリプトをsql/plusかなんかでやると問題ないのに それをストアドにしたら2.の時にテーブルが存在しないと言うことで コンパイルエラーになってしまいます。 こうゆう場合どうすればコンパイルエラーを回避できるのでしょうか? 1.と2.を分割して二つのストアドにしないといけないのでしょうか。

  • T-SQLで

    SQL Server2005でストアドプロシージャを作ろうと思うのですが、カーソルにパラメータを実装できないそうで困っています。 やりたいことは、 「ワークテーブルからSELECTして、別のテーブルにINSERT or UPDATEする」 です。 ワークテーブルからSELECTするところをカーソルにするのですが、SELECT条件は可変なので、その部分をパラメータでカーソルに渡したいのです。 Oracleならできたんですが・・・。 どうすれば実現できますか?

  • ストアドプロシージャの多用でパフォーマンスは向上するか?

    抽象的な話で非常に恐縮なのですが、 ストアドの中で行うSELECTやINSERTなどの処理を 更にストアドにすることで、パフォーマンスは向上するのでしょうか? たとえば、「テーブルAの内容を取得してテーブルBにINSERT」というストアドがあったとします。 この場合、以下のような記述になると思います。 ---------------------------------- SELECT (略) FROM TBL_A INSERT INTO TBL_B (略) ---------------------------------- このSELECT及びINSERT処理をそれぞれストアド化し、 ---------------------------------- EXEC SP_A (略) EXEC SP_B (略) ---------------------------------- とすると、わずかなりでも処理速度は向上するのでしょうか? (極論ですが、全てのSELECT、INSERT、UPDATEをストアド化するのがベストなのでしょうか?) 現在、数百万~数千万件のレコードを処理するストアドを作成中で、処理時間の短縮が大きな課題になっています。 1件あたりの処理が0.1秒でも縮めば、10万件の処理時間は10,000秒(=3時間弱)の短縮になり、決して馬鹿にはできません。 妙な質問ですが、良策があればご教授ください。

  • ストアドの書き方?

    Aテーブルに同じフィールドを持ったcsvをd, e, f, g と4つのフィールドを比べて 1つでも違っていたら、insertするというSQLをつくりたいのですが、 これは、ストアドになるのでしょうか? データはだいたい5万件くらいあります。 サーバーはSQLServerになります。 宜しくお願い致します。

  • ストアドプロシージャについて

    Access2003とSQL Server2005Expressです。 初歩的な質問で恐縮です。 以下のストアドプロシージャのデータ取得先を、テーブルではなく 別のストアドプロシージャにしたいのですが、 その方法がわかりません。 CREATE PROCEDURE テスト AS SELECT コード, 社名, 住所, 電話 FROM 名簿     ↑     これをテーブルではなく、別のストアドプロシージャを     指定したのですが・・・。     ここをストアドプロシージャ名にするとエラーになります。     どうすればよろしいでしょうか?

  • ASPからストアドプロシージャにパラメータが渡せない

    正常に動作していたASPに、ストアドプロシージャに渡すパラメータを追加してブラウザでテストをしたのですが、「データの型が一致しない」という意味あいのエラーメッセージが表示されます。 しかし、送り側はHTMLのテキストボックスに入力された値で、受け取り側はvarchar型ですので、間違っていないはずです。 また、追加したパラメータ以外のパラメータをコメントにして実行すると、正常に動作します。 同じ開発チームの方から、「パラメータとして渡すときに、バイト数に制限があるのでは?」とか、「そのような事に関することがマイクロソフトのバグ情報に載っていた記憶がある」とか教えていただいたのですが、それらしき項目はありませんでした。 また、ストアドプロシージャ単体では、正常に動作しています。 どなたかわかる方、よろしくお願いいたします。

  • 複数フィールドを返すストアドからある1フィールドの値を取得するにはどの

    複数フィールドを返すストアドからある1フィールドの値を取得するにはどのようにすればいいのでしょうか。 SP_Aというストアドがあります。 SP_Aストアドではパラメータ値を指定して該当するレコードをSELECTで取得しています。 ----------------------------- SELECT TOP 1  field1,  field2,  field3 WHERE  field2 = @パラメータ値;, ----------------------------- 新たにSP_Bというストアドを作成してその中でこの上記のストアドを実行してfield3フィールドの値のみ取得したいと思っていますがどのようにすればいいのかわかりません。 このSP_Aストアドは既に色々な箇所で使用されている為、修正したくありません。 SP_Aストアドを修正しないでfield3フィールドの値のみ取得する事は可能でしょうか。 説明が下手ですみませんがうまく伝わりましたでしょうか。 ご存じの方がいましたらアドバイスいただけませんでしょうか。 些細な事でも何でも構いませんので宜しくお願いします。

  • SQL-Server 6.5でストアドプロシージャの実行

    EXECUTE procedure 'para1','para2' で正しい結果が返ってくるストプロがあります。 これをSELECT文の中で結果を返すようにするには どんな書き方をすれば良いのでしょうか? ストアドプロシージャを作成したのは今回が初めてで 試行錯誤しながらなんとか結果が返せるようになった のですが、私がISQLで試した方法ではうまく行きません。 <私の試した方法> SELECT procedure(tabe1.para1,tabe1.para2) FROM table1 SELECT文でストプロを実行することはできないのでしょうか? 宜しくお願いします。