Oracle 質問総合スレ14 (813レス)
上下前次1-新
428(1): 2022/06/25(土)20:38 ID:??? AAS
>>427
返信ありがとうございます!
マニュアルを読みました。
参考になりそうなものはありませんでした。
情報ありがとうございました。
429(1): 2022/06/26(日)16:57 ID:4Ck3GPHu(1) AAS
>>428
嘘をつくな
430: 2022/06/27(月)07:37 ID:??? AAS
>>429
返信ありがとうございます。
この辺りを読みましたが、
外部リンク[html]:docs.oracle.com
DB2用のSQLファイルを読み込んで
Oracle用のSQLファイルに変換してくれる機能は見つけられませんでした。
431(3): 2022/06/30(木)18:41 ID:??? AAS
現在ORACLE 19cで以下のように各グループ別に複数レコードが存在しています。
各グループのにある項目名とその値を利用して
データが存在するかを調べたいのですが、うまく検索できずにいます。
何か良い方法があればご教示頂ければ助かります。
グループは最大で10個確定なので力業で10回ループなりグループを指定すれば実現できますが、
SQLだけでスマートにやってみたいと思い投稿させていただきました。
テーブルとそのレコード
↓
----------------
グループ名,項目名,数値
省21
432(1): 2022/06/30(木)19:00 ID:nTfyV+3G(1) AAS
>>431
exist
433(2): 2022/07/02(土)20:51 ID:??? AAS
>>432
も、もう少し…ヒント頂けませんか?
existsは解るのですがその途中ともうしますか…
434: 2022/07/03(日)00:22 ID:ZCexl0GZ(1) AAS
>>433
まずは1~5の条件に当てはまるレコードを取得するSQLを作ってください。
435: 2022/07/03(日)06:24 ID:??? AAS
>>433
まず、自分で>>431で書いたことを実現するためのSQLコードを書いてみては?
そして所望の出力を追加して、その間をつなぐ方法を自分で考えて、だめならやったこと全てを示して誰かに相談すると良い。
436(1): 2022/07/05(火)13:18 ID:??? AAS
>>431
効率は知らん、あとカンマ区切りで出力したければググってくれ
> 1:項目X=10のものを含むグループ名
Select distinct グループ名 from テーブル T
where exists (Select * from テーブル where 項目名 = '項目X' and 数値 = 10)
> 2:項目X=20のものを含むグループ名
Select distinct グループ名 from テーブル T
where exists (Select * from テーブル where 項目名 = '項目X' and 数値 = 20)
> 3.項目X=20かつ項目Y >=300を含むグループ名
Select distinct グループ名 from テーブル T
省14
437(1): 2022/07/05(火)13:22 ID:??? AAS
すまん、条件足らんかった
> 1:項目X=10のものを含むグループ名
Select distinct グループ名 from テーブル T
where exists (Select * from テーブル where グループ名 = T.グループ名 and 項目名 = '項目X' and 数値 = 10)
> 2:項目X=20のものを含むグループ名
Select distinct グループ名 from テーブル T
where exists (Select * from テーブル where グループ名 = T.グループ名 and 項目名 = '項目X' and 数値 = 20)
> 3.項目X=20かつ項目Y >=300を含むグループ名
Select distinct グループ名 from テーブル T
where
省13
438(1): 2022/07/05(火)21:32 ID:??? AAS
さらにすまん、見直したら項目名間違えてたわ
まあ内容理解出来たらすぐに気付くと思うが
> 1:項目X=10のものを含むグループ名
Select distinct グループ名 from テーブル T
where exists (Select * from テーブル where グループ名 = T.グループ名 and 項目名 = '項目X' and 数値 = 10)
> 2:項目X=20のものを含むグループ名
Select distinct グループ名 from テーブル T
where exists (Select * from テーブル where グループ名 = T.グループ名 and 項目名 = '項目X' and 数値 = 20)
> 3.項目X=20かつ項目Y >=300を含むグループ名
Select distinct グループ名 from テーブル T
省14
439: 2022/07/12(火)16:19 ID:??? AAS
>>436-438
あ、ありがとうございます。
今までかかりましたがようやく実装できました…。
自分にとっては奇跡のSQLです。
涙でそうです。
440(3): 2022/08/23(火)03:05 ID:??? AAS
dockerで19cのコンテナ作成したんですが、sysにログインできない理由が分かる方いませんか?
docker exec -it oracle19 sqlplus SYS/oracle@ORCLPDB1
>ERROR:
>ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
docker exec -it oracle19 sqlplus SYS/oracle@ORCLPDB1 as SYSDBA
>ERROR:
>ORA-01017: invalid username/password; logon denied
docker exec -it oracle19 sqlplus PDBADMIN/oracle@ORCLPDB1
>SQL>
docker exec -it oracle19 sqlplus SYSTEM/oracle@ORCLPDB1
省4
441: 2022/08/24(水)01:46 ID:wVGJytva(1/3) AAS
>>440
SYSユーザーで使うときは下記のようにするもんだと思っておけ。
sqlplus sys/パスワード@接続文字列 as sysdba
「AS SYSDBA」と付けないといけない理由は、とりあえずあとで勉強しろ。
442: 2022/08/24(水)01:48 ID:wVGJytva(2/3) AAS
>>440
プラガブルデータベースにSYSユーザーやSYSTEMユーザーでログインできる仕様は削除されたぞ。
443(1): 2022/08/24(水)01:53 ID:wVGJytva(3/3) AAS
>>440
単にSYSユーザーの認証がただのパスワード認証だと思っているのか?
OS認証だからそうなってる。
これネタなのか?
444(1): 2022/08/24(水)19:02 ID:??? AAS
>>443
SYSDBAの仕様は元から知ってます
PDBじゃなくてCDBでもSYSDBA付けても入れないので助けてください
OS認証云々はもうちょっと詳しく説明お願いします
445(1): 2022/08/24(水)23:17 ID:??? AAS
dockerはよくわからんけど、docker execってなんのユーザーで動くん?
ora_dbaのユーザーで動くならid/pwは空でいけそうだね。
446(2): 2022/08/25(木)01:33 ID:??? AAS
>>445
docker execはoracle19のコンテナでsqlplus以下のコマンドを実行しますよって意味なのでこの場合のユーザーは載ってるOSのユーザーになるかと思います
なのでubuntuのアドミンユーザですね
他には下記の試したのですが依然成功せずでした
docker exec -it oracle19 sqlplus / as sysdba
>net service name is incorrectly specified
docker exec -it oracle19 sqlplus /@ORCLPDB1 as sysdba
>invalid username/password; logon denied
なんとなくsysへのログインがsysdbaとは別のプロトコルで弾かれてそうな気がしてます
447: 2022/08/25(木)10:33 ID:??? AAS
oracle 19cで取り急ぎ全てのログを取得する統合監査ポリシーを作りたいのですが
ACTIONS ALL;
ではうまく取得できず良い方法があればご教示いただけないでしょうか
上下前次1-新書関写板覧索設栞歴
あと 366 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.012s