『Oracle』に関する質問・疑問一覧

次へ  ]
3445件中 1~20件目
  • TO_CLOBを使用するとデータが取れない

    DB:oracle10g DB使用文字コード: JA16SJIS SELECT文にて大量の項目を連結してデータを 取得したいと考えています。 (取得項目は全て固定長) その際、連結したデータが10000バイト となり、4000バイトを超えてしまうため、 TO_CLOBコマンドを使用してSQLを実行 したのですが、指定した項目情報が途中まで しか取得できておらず残りはset linesizeで指定 した10000バイトまで全てスペースとなって います。 また、取得項目に値が入っている事は確認 済みで、連結せずに1項目ずつ取得する SELECT文だと値が問題なく取れます。 データが途中までしか取れないという事象 はどのような原因が考えられるでしょうか? SELECT文 set pages 0 set linesize 10000 SELECT 項目1 || 項目2 || 項目3・・・|| 項目100 FROM テーブル名; 特定の項目以降値が取れなくなる。

    2019/11/20 01:30
  • Oracle SQLのSUBSTR関数について

    今授業でSUBSTR関数について習ったのですがイマイチ使い道、用途がわかりません。 お手数おかけしますがどう言った場合この巻数を用いるのかを教えていただきたいです。 よろしくお願いします。

    2019/11/14 11:06
  • セブンイレブンの7payの開発費が142億円だった

    セブンイレブンの7payの開発費が142億円だったそうです。 あのキャッシュレス決済システムのどこに142億円も掛かる部分があったのですか? ただデータベースから取り出して書き出すだけの単純なシステムですよね?

    2019/11/06 12:12
  • oracleのfunctionで戻り値複数個

    oracleのストアドプロシージャのファンクションについてですが、 ファンクションは、戻り値を返すことができますが、 それを、複数個返すことはできるのでしょうか。 CREATE [OR REPLACE] FUNCTION ファンクション名(引数 IN データ型[, ...]) RETURN 戻り値の型 IS 宣言部 BEGIN 処理部 END ; お願いします。

    2019/09/13 09:08
  • SQLでの条件分岐

    現在SQLの勉強をしているのですが、条件分岐の方法がわかりません。 全社員を登録したテーブルAと一部社員のみが登録されたテーブルBがあり、両テーブルを外部結合し、Bに登録されているかどうかでフラグを設定しています。 select A.*, B.*, NVL2(A.EMP_NO,'1','0') flag from A left outer join B on A.EMP_NO = B.EMP_NO and A.EMP_NAME = B.EMP_NAME ・上記SQLで設定したフラグの値をもとに、(1)Aのみに登録された社員、(2)Bのみに登録された社員、(3)両テーブルに登録された社員を出すためにはどのようにすれば宜しいでしょうか。 (2)、(3)に関しては、上記パターンならテーブルそのものを出せば済む話なのですが、今後のためにフラグから判定する方法でご教授お願いいたします。

    2019/09/12 23:54
  • ROWTYPEのINSERTが出来ません

    plsqlにてROWTYPEを使用したINSERTが出来ず困っています。 現在、以下のようなplsqlでROWTYPEのデータのINSERT処理をしようとしていますが、INSERTが出来ない状況となっています。 dbms_output.put_lineで確認するとINSERTしたいデータが存在していることは確認しています。 また、INSERT文をコメントアウトして実行すると、想定通りの回数のループ処理が 行われることも確認しています。 いまいち原因が分からず困っています。 DECLARE CURSOR zaiko_csr IS select * from zaiko_mst; zaiko_rec zaiko_mst%ROWTYPE; BEGIN OPEN zaiko_csr; LOOP FETCH zaiko_csr INTO zaiko_rec; EXIT WHEN zaiko_csr%NOTFOUND; insert into zaiko_bk(prd_cd, prd_nm, cnt) values(zaiko_rec.prd_cd, zaiko_rec.prd_nm, zaiko_rec.cnt); END LOOP; commit; close zaiko_csr; END;

    2019/09/10 00:52
  • oracleのsqlで日付判断

    テーブルに以下の以下の様に日付が登録されています。、 cal_year cal_month cal_day item1 item2 item3 ・・・・・・ : 2019 6 29 2019 6 30 2019 7 1 2019 7 2 ; 2019 7 10 2019 7 11 ; 2019 7 20 2019 7 21 : 2019 7 31 2019 8 1 2019 8 2 : 見ての通り、テーブルに登録されている日付が、年、月、日と各々で 登録されており、また、月と日には、ゼロ埋めされてない値となって います。 因みに、cal_year、cal_month、cal_dayの属性は、varchar2です。 以下のsqlで、日付指定で、システム日付より以降の日付のデータを 取得しようとしているのですが、上手く行きません。 select * from tableA where cal_year||cal_month||cal_day>to_char(sysdate,'FMYYYYMMDD') order by cal_year,to_number(cal_month),to_number(cal_day) ; 今日、2019/7/22でやると、「2019 7 3」以降が出力されます。 また、日付を直接指定するとエラーとなります。 select * from tableA where cal_year||cal_month||cal_day>to_char('2019722','FMYYYYMMDD') order by cal_year,to_number(cal_month),to_number(cal_day) ; 「SQL : ORA-01481: 数値書式モデルが無効です」となります。 何がいけないのでしょうか。 このような使い方はダメなのでしょうか。 それとも、使わない使い方をしているのでしょうか。 お願いいたします。

    2019/07/22 10:34
  • Oracle Nunber型の精度(桁数)について

    Oracleデータベース上のテーブルにNUMBER(1,0)で定義した項目を追加し、 その項目にSQLで値(数値で1、または0)をセットしたところ、「ORA-01438: この列に許容される指定精度より大きな値です」のエラーが発生しました。 同じテーブル上に元々NUMBER(1,0)で定義された項目があり、そちらでは 同じエラーがでません。 何か原因として考えられる事はあるのでしょうか?

    2019/06/27 11:58
  • ORACLEデータについて

    お世話になります。 ORACLEのデータについて教えてください。 DATE型のデータが 2019/06/18 20:50:10 となっています。 このデータを 2019/06/18 と変更する方法はありますか。

    2019/06/19 16:19
  • SQL (ORACLE)について

    こんにちは。 SQL文について教えてください。 【temp1テーブル】 code name value 001 yama 100 002 kawa 200 003 umi 300 【temp2テーブル】 code name value 002 kawa 200 004 minato 500 上記の2つのテーブルtemp1とtemp2を比較して codeの値とnameの値が同じレコードの場合 temp1のvalue値を temp1のvalue + temp2のvalueにする 方法を教えて頂けませんでしょうか。

    2019/06/11 16:46
  • OracleDBへの接続でタイムアウト

    VPNで出先から拠点へ接続する環境(出先ではスマホのテザリングでインターネットへ接続)で、VB2005+Oracle11で構築されたアプリを使用しておりますが、先日、拠点側のインターネット接続の固定IPが変更となり、拠点側のルーターの設定とVPN接続の接続先固定IPの設定を変更致しました。 拠点へのVPN接続自体は問題無く接続され、拠点のサーバへの接続も問題無く接続が出来ておりますが、アプリを起動するとタイムアウトのエラーが出る状況です。 (設定変更前は問題無く起動していた。また、VPN接続している端末は10数台あるが、エラーが発生しているのは1台のみ) そこで、Oracleの設定を疑い、クライアント側でNetManagerにて接続確認したところ、正常に接続が出来ました。 そこで、アプリの接続設定に問題が生じている可能性を疑い、そのクライアント端末を拠点に持ち込んで有線LANで接続したところ、アプリが正常に起動しました。 こうなると原因が何処にあるのか、いまいち判らない状況なので、原因を切り分けする意味でアドバイス等を頂ければ幸いです。 よろしくお願い致します。

    2019/06/06 13:38
  • OracleによるJDKのフォルダパス指定について

    oracle sql developerについて、最初のデータベース接続テストで詰まっています。 現在、初期設定にて、JDKのインストール先を求めるダイアログでフォルダパスを記述すると、 「can not find a Java SE SDK installed at path: C:\ProgramFiles\Java\jdk-10.0.1.」 というエラー文が表示される状態です。 「Browse」ボタンからjdkのフォルダを指定しているため、記述ミスがあるとは思えません。また、関係があるかは分かりませんが、jdkの環境変数等も設定を行なっています。 この場合、上記のエラー文には、どのような対処が考えられるでしょうか? ご回答いただけると幸いです。 バージョン情報は、 Windows 8.1(64ビット) oracle sql developer-4.1.5.21.78 となります。

    2019/05/25 12:14
  • JDeveloperのシェア率について

    オラクルにJDeveloper というフレームワークがあるのですが、 日本で、これはどのくらい使用されているのでしょうか? 使用されている場合は、どのくらいの比率でしょう? 海外の利用をあわせて、教えてください。 また、使用されている場合は、実績をも教えていただけると助かります

    2019/05/24 18:25
  • Varcharについて

    Oracleでは文字列の宣言にVarchar2()を使いますよね 何故、OracleだけVarcharではなくVarchar2なのですか? ※OKWAVEより補足:「Webシステム開発」についての質問です。

    2019/05/20 17:55
  • oracle ファンクションの実行

    oracleでファンクションを作成しております。 このファンクションをVisualBasicより実行しているのですが、 以下のエラーが出力される状況です。 ORA-06550: 行1、列8: PLS-00553: キャラクタ・セット名が認識されません。 ORA-06550: 行0、列0: どのように対処すれば良いか分らず、 どなたか分る方がいらっしゃればご教授頂けますと 幸いです。 ★作成したファンクション CREATE OR REPLACE FUNCTION HINODE.H_HND8010U ( p_in_yoyakuid in varchar2) RETURN varchar2 --********************************************************* --* □ プロシージャ名 --* H_HND8010U --********************************************************* IS vSum varchar2(10); BEGIN vSum := p_in_yoyakuid; RETURN vSum; END; /

    2019/05/18 10:51
  • オラクルデータベースの接続

    オラクル初心者です。 ご存知の方、ご教示頂ければ幸いです。 64bitのWindows10に32bitオラクルクライアントをインストールした場合、64bitのオラクルデータベースにアクセス出来ますでしょうか? サーバー、クライアント共に12.2です。

    2019/04/24 00:53
  • 2つのDBからマージした結果をSQLで抽出するには

    ■下記の様な2つのデータベースとデータがあった場合に算出結果の様な形でデータを抽出したいのですが、SQLで実装するにはどうすれば良いでしょうか? データベースはOracleを使用しています。 【データベースA】 担当者  商品 担当者A りんご 担当者B りんご 【データベースB】 担当者  商品 担当者A みかん 担当者C みかん ■算出結果 担当者  商品 担当者A りんご、みかん 担当者B りんご 担当者C みかん

    2019/04/17 10:04
  • SQLで1レコード前のデータと比較し計算する方法

    下記の様なデータベースとデータがあった場合に算出結果Xの値を求めたいのですが、 SQLで実装するにはどうすれば良いでしょうか? 商品名 連番 稼働時間   算出結果X 商品A 1  60分  → 60分 商品A 2  90分  → 30分 商品A 3  300分 → 210分 商品B 1  10分  → 10分 商品C 1  20分  → 20分 (計算式) 1件目:前のレコードの商品名が違う場合はそのままで、60分とする。 2件目:前のレコードの商品名が同じ場合は90分-60分で、30分 3件目:前のレコードの商品名が同じ場合は300分-90分で、210分とする。 4件目:前のレコードの商品名が違う場合はそのままで、10分とする。 5件目:前のレコードの商品名が違う場合はそのままで、20分とする。 今まではEXCELでデータを管理しEXCELの関数で算出結果Xの値を求めていましたが、オラクルのDBにデータを格納して計算する方法を検討しています。 宜しくお願いします。

    2019/04/01 15:04
  • oracleでwith句の結果を使ってupdate

    oracleでwith句の結果を使って外部結合?でupdateしたいのですが 上手くいきません。 oracleでは無理なのでしょうか。 よろしくお願いいたします、。 /*---------- with v1 as ( select row_number() over(PARTITION BY ・・・ ORDER BY ・・・) as rnum ,no ,col1 ,・・・ from ・・・ ) update ( select A.col1 A_COL, v1.col2 B_COL from table1 A inner join table2 B on A.cd1=B.cd1 inner join v1 on A.no=v1.no where v1.rnum=1 and ・・・ ) set A_COL=B_COL ; ----------*/ と書いたのですが、 実際に実行してみると、 カッコ「(」、「)」がないとか、 selectが必要とか, A_COLやB_COLが無効ですとか、 となります。 どこが悪いのでしょうか。 oracleではupdateでwithは使えないのでしょうか。 よろしくお願いします。

    2019/03/08 11:03
  • oracle SQL

    売上情報を日別に集計して抽出しようと考えております。 その際に売上が存在しない日のレコードも纏めて抽出したいと考えております。 以下のように日付一覧を副問合せで生成し、left joinすれば良いかと 考えたのですが、結果は売上が存在するレコードしか抽出されません。 下記のSQLでは何が原因で全日付が抽出されないのか分る方がいらっしゃいましたらご教授頂けますと幸いです。 select 売明.商品コード, 売伝.納品日, 月日.全日, -- TO_CHAR(売伝.納品日,'DY') AS 曜日, TO_CHAR(月日.全日,'DD') AS 日, TO_CHAR(月日.全日,'DY') AS 曜日 -- count(売明.商品コード) AS 売上回数 from 売上伝票データ 売伝, 売上明細データ 売明, ( SELECT TO_DATE('20180401', 'YYYYMMDD') + ROWNUM - 1 AS 全日 FROM ALL_CATALOG WHERE TO_DATE('20180401', 'YYYYMMDD') + ROWNUM - 1 <= TO_DATE('20180430', 'YYYYMMDD') ORDER BY 1 ) 月日 where 売伝.納品日 BETWEEN TO_DATE('20180401','YYYY/MM/DD') AND TO_DATE('20180430','YYYY/MM/DD') AND 月日.全日 = 売伝.納品日(+) AND 売伝.売上伝票番号 = 売明.売上伝票番号 AND 売明.商品コード = '009405'

    2018/10/13 12:56

ピックアップ