Oracle
- ローカルでDB作成して勉強したい!
タイトルどうりなのですが、どうしたらいいのかさっぱりわかりません。インストールしたままなんですが。SQLPlusはログインできないし・・・。バージョンは8だと思います。どうすればいいのか・・。どなたかご教授ください。
- オラクルの外部結合について
仮にテーブル類をこのように設定します テーブル 項目 ------------------- マスタ111...a,b,c,d,e マスタ222...f,g,h,i,j ------------------- ※ マスタ111とマスタ222のKEYは(a = f,b = g)とします。 SQLの抽出にて、a~jまでの全ての項目をマスタ111 に存在する全てのデータのみ抽出したい (マスタ222に紐つくデータがない場合はf~j項目は空白として抽出) と思い、以下のような下のようなSQLとしてみましたが、これだとマスタ222に紐つくデータがない場合は抽出の対象外となってしまいました。 -------------------------- SELECT A.a A.b A.c A.d A.e B.f B.g B.h B.i B.j FROM マスタ111 A,マスタ222 B WHERE A.a = B.f(+) AND A.b = B.g(+) -------------------------- マスタ222に紐つくデータがないマスタ111のデータも抽出したい場合は、どのようなSQLにしたら良いでしょうか? 宜しくご教授下さい。お願い致します。
- WindowsXP用のOracleクライアント9.2.0ってどこにあるのですか
Oracleのホームページから無料でダウンロードできると、ネットのどこかに書いてあった気がするのですが・・。 URLがわかる方がいましたら教えてください。 また、Oracleクライアントをダウンロードしてインストールしたあとに、Windowsのコントロールパネルで、ODBCを追加すればよいのでしょうか。
- TABLESPACEローカル管理時のTABLE領域指定
只今ORACLE 9i Silver DBA(1)の勉強をしています。 そこで質問なのですが、TABLESPACE作成時にローカル管理にして、TABLE作成時にCREATE TABLE文でstorage句を指定した場合どっちが優先されるのでしょうか?エラーになるのでしょうか? よろしくお願いします。
- まずなにをすればいいの?
オラクルについて質問です。オラクルについて勉強しようと思い、Oracleをインストールしたのですが、まず何をすればいいのかわかりません。自分のPCでローカルで、DBを作成していじりたいのですが・・。どなたかご教授ください。お願いします
- Oracleの使い方がわかりません
Oracleを自分のPCのCドライブにインストールして、SQLPlusでDBを作成したのですが、ふと疑問に思ったのですが、作成したDBはどこのファイルに保存されるのですか? すいません、仕組みがよくわからなくて・・・。
- ORAー12560:TNS:protocol adapter error
初心者です。ORACLE9iをインストールしました。コマンドラインから sqlplus /nolog SQL>connect /as sysdba と実行しますが、ERROR:ORAー12560:TNS:protocol adapter error となり接続出来ません。スタートメニューからSQL Plusを起動しても同エラーとなります。ORACLE関係のサービスは起動しており、ログインユーザはORACLEをインストールしたユーザでORA_DBAグループにも登録されています。OS再起動を実施しても同エラーです。OSはwindows2000Proです。どこをチェックすれば宜しいでしょうか。
- オラクルの学習用ソフト
オラクルマスターの勉強のために自宅のPCにオラクルのインストールをしようとしています。 オラクルの学習用のソフトでオススメのものはどのようなものがありますか?
- Pro COBOLでは、最後執行したSQL文を取得したい
【背景】バッチプログラムを実行中、トラブルが発生した場合、どのSQL文が発行されてトラブルになったか知りたいです。 例えば、EXEC SQL SELECT * FROM USE_TABLE WHERE USE_ID=:USE_ID直後でトラブルになった場合、仮に:USE_ID='yxy19700804'でしたら、COBOLがOracleにEXEC SQL SELECT * FROM USE_TABLE WHERE USE_ID='yxy19700804'といったSQL文を発行した直後、トラブルになります。「EXEC SQL SELECT * FROM USE_TABLE WHERE USE_ID='yxy19700804'」をシステム的に取得方法がありますか?
- 取得するデータの件数指定、MySQLではlimit、ORACLEでは?
タイトルのままなんですけど、以下のSQL文を オラクルではどう書けばよいでしょうか? select * from user_tbl limit 0, 10; (最初の10件だけ取得したい) 教えてくださ~い!
- PostgreSQLからOracleへのデータ移行の方法
プログラマ暦は4年ですが、DBに関しては初心者レベルです。 (与えられたDBの操作をするくらいで、設計やチューニングなどはやったことがありません。) ネットで検索をしてみたものの、それらしき情報が見つからないのでこちらに投稿させて頂きます。 PostgreSQL7.3.2からOracle9iへのデータ移行の方法について教えて下さい。 プログラムでゴリゴリ書けば、なんとか移行できるとは思っているのですが、 果たしてそれが正しいやり方なのかどうか、わからないのです。 もしかしたら、もっと簡単に移行する手段があるのかも?と思っているのですが・・・。 みなさんでしたら、このような場合、どのような手段で作業しますか? 移行するために使う言語も含めて手順を教えて頂きたいです。 よろしくお願いします。
- メールのサブジェクトのデコードを行いたいのですが・・
VBで、メールのログをDBに保存するためにBASE64のデコードを行うファンクションを作ろうと思っています。 下記のサイトを参考にして作ってみたのですが、 どうも全角ひらがなのサブジェクトが元通りになりません。 メールのエンコード方式など詳しくないので、なにか勘違いをしてるのでしょうか? JIS-SJIS変換はBVで実装しており、BASE64のデコードはOracleで用意されているようなのでそれを使おうと思って試してみたのですが・・ よろしくお願いします。 http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_pl12.htm
- INSERT文(2)について
お願い致します。 ORACLE9iを使用しています。 INSERT INTO tableA(AA,BB,CC,DD,・・・) VALUES (AA,BB,CC,DD・・・) ************************** 項目 長さ AA 11,3 BB 11,3 CC 11,3 ・ ・ ************************** 現在データ(VALUES句内部) AA→0.00000000まで ・ ・ *************************** 状態です。 SQL文上のINTO句とVALUES句の値の対応は取れています。 VALUES句が現在は少数点以下切捨てしてない状態な為、ORACLE項目の長さ以上に値が指定されているのですが、これが原因でエラーになっているのでしょうか? エラーメッセージ:「VALUESキーワードがありません」 お願い致します。
- CreateTable時のInitialエクステントについて
以下のようにテーブルスペースとテーブルを作成すると空のテーブルなのにエクステントが2つ発生するのですが、なぜでしょうか? CreateTableではInitialエクステントが1つ発生するだけではないのでしょうか? ご回答をお願いします。 バージョン:Oracle9.2.0.1.0 CREATE TABLESPACE GOMI DATAFILE '/export/home/dbf/user_data_gomi.dbf' SIZE 32M REUSE MINIMUM EXTENT 1K DEFAULT STORAGE ( INITIAL 512K NEXT 512K PCTINCREASE 0 MINEXTENTS 1 ); ========================================= CREATE TABLE GOMI_T ( NAMAE VARCHAR2(60) ) PCTFREE 0 TABLESPACE GOMI STORAGE ( INITIAL 128K NEXT 16K MINEXTENTS 1 ); SQL> L 1 SELECT SUBSTR(SEGMENT_NAME,1,8) "SEGMENT",EXTENT_ID,BYTES,BLOCKS 2 FROM DBA_EXTENTS 3* WHERE TABLESPACE_NAME = 'GOMI' SQL> / SEGMENT EXTENT_ID BYTES BLOCKS ---------------- ---------- ---------- ---------- GOMI_T 0 65536 32 GOMI_T 1 65536 32 ↑エクステントが2つ発生する。
- 他のテーブルの抽出条件で更新したい。
・売上ヘッダ 伝票NO,売上金額合計 ・売上明細 伝票NO,明細NO,商品番号,売上金額 上記のようなテーブル構成の2つのテーブルがあります。 売上ヘッダの主キーは、伝票NOで売上明細の主キーは、伝票NOと明細NOです。 ここで、商品番号1の、売上金額に500円の差額があるため、、修正をしたいと考え、売上ヘッダと売上明細にある売上額を変更したいのですが、売上ヘッダの売上金額合計を更新する方法がわかりません。 ご教授いただけないでしょうか。
- PL/SQLカーソルの2重FORループができません
こんにちは。 PL/SQLで下記のようなFORループを 2重3重に処理することはできないのでしょうか? コンパイル時に PLS-00103: 記号"END"が見つかりました と、内ループの"END"に対して起こられてしまいます。 お分かりになる方、よろしくお願いします。 … <<L_OUT>> FOR data_a IN csr_a LOOP … <<L_IN>> FOR data_b IN csr_b LOOP END LOOP L_IN; … END LOOP L_OUT; …
- ベストアンサー
- pink_tomato
- Oracle
- 回答数4
- [Oracle9i]PL/SQLでFETCHしても、%FOUND=TRUEにならない
簡単なことだと思うのですが、はまってしまったので質問させてください。 以下のようなコードがあります。PL/SQLで書いてます。 SELECTした内容をFETCHして、IF文の%FOUNDで処理内容を変えているのですが、%FOUND=FALSEで必ず返ってきています。SELECT文自体でデータはひっぱって来ている(別で流しました)ようなので、理由が全然わからずまいってます。 -------------------------------------------------- FUNCTION get_siten_cd(siten_cd varchar2) RETURN varchar2 IS ret_siten_cd varchar(4); --4桁支店コード /*カーソル定義*/ CURSOR cs is SELECT SITEN_CD FROM MEI1.SITEN_MST WHERE SITEN_CD3 = siten_cd; /**カーソルに基づくレコードの定義**/ rs cs%ROWTYPE; BEGIN OPEN cs; FETCH cs INTO rs; IF cs%FOUND THEN --データが存在する場合 ret_siten_cd := rs.SITEN_CD; ELSE --データが存在しない場合 ret_siten_cd := NULL; END IF; CLOSE cs; RETURN ret_siten_cd; END; -------------------------------------------------- よろしくお願いします。