約 2,081,582 件
https://w.atwiki.jp/mieyanman/pages/20.html
20180212_SQLPLUS_DESC.txt SET LINESIZE 50 SPOOL C \Temp\ファイル名.txt DESC スキーマ.テーブル名 SPOOL OFF SET LINESIZE 80 20180212_SQLPLUS_CSV.txt SET HEADING ON SET LINESIZE 32767 SET PAGESIZE 0 SET TRIMSPOOL ON SPOOL C \Temp\ファイル名.csv /* 見出行の列書式 "列名" / SELECT "列1" || , || "列2" || , || "列3" AS 見出 FROM DUAL; /* 明細行の列書式 VERCHAR2 " || 列名 || " NUMBER TO_CHAR(列名) DATE TO_CHAR(列名, YYYY/MM/DD HH24 MI SS ) / SELECT " || 列1 || " || , || TO_CHAR(列2) || , || TO_CHAR(列3, YYYY/MM/DD HH24 MI SS ) AS 明細 FROM スキーマ.テーブル名 WHERE 1 = 1 ORDER BY 列1 ; SPOOL OFF SET LINESIZE 80
https://w.atwiki.jp/lookworld/pages/51.html
SQL Plusを使用してDBを操作するには、Oracle Net8 assistant(プログラム名)で適切な設定をする必要があります。 (Oracle 8i 8.1.7.0.1) Oracle Net8 assistantでの設定手順 サービス名 | 編集 | 作成.... 起動 sqlplusSQL Plusの終了 SQL exit外部エディタを使用してSQLファイルの作成 SQL ed FileName 通常の保存先:c \orant\bin\FileName.sql ファイルに保存したSQL文を実行 SQL @FileName作成した表の確認 SQL describe TableName作成した表を削除 SQL drop table TableName入力したSQL文をファイルに保存 SQL save FileName実行結果(log)をファイルに保存開始/終了 SQL spool FileName SQL spool off直前に入力/実行したSQL文を実行 SQL /現在ログイン中のユーザーの表示 SQL show user読み込まれているSQL文の表示 SQL list接続/切断 SQL connect UserName/Password@InstanceName SQL disconnect一行表示/消去 SQL l LineNumber SQL del LineNumber文字列の置き換え SQL c/wrong_word/right_word編集行の移動 行番号を入力しリターン Server Manager の操作 起動/終了 SVRMGR30 EXITデータベースの起動/停止 SVRMGR connect internal/oracle SVRMGR startup SVRMGR shutdown LSNRCTL の操作 起動/終了 LSNRCTL80 EXIT状況/起動/停止 LSNRCTL status LSNRCTL start LSNRCTL stop SQL文 データディクショナリの表示 select * from dict where table_name like USER% ; (そのユーザに関する情報) where table_name like ALL% ; (そのユーザがアクセス可能なすべての情報) where table_name like DBA% ; (データベース全体に関する情報)ユーザの作成/変更/削除/確認 create user UserName identified by Password default tablespace AREA1 temporary tablespace TEMP quota unlimited on AREA1 quota 2M on AREA2; alter user UserName identified by Password1 default tablespace AREA2 temporary tablespace TEMP2 quota unlimited on AREA2; drop user UserName cascade; select username,default_tablespace,temporary_tablespace from user_users; select * from user_ts_quotas; select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users; システム権限の付与/取り消し/確認 grant create session,create user to UserName; revoke create user from UserName; select * from session_privs;オブジェクト権限の付与/取り消し/確認 grant select,alter,delete,index,insert,references,update,execute on ObjectName to UserName; all, grant update(name,id)... revoke select on ObjectName from UserName; select * from user_tab_privs_made; select * from user_tab_privs_recd;ロールの付与/取り消し/確認 grant connect,resource,dba to UserName; revoke dba from UserName; select * from session_roles;表の作成 create table TableName ( a number(4) constraint a_pk primary key , b varchar2(30) , c number(7.2) constraint c_check check( c = 0 and c 200 ) , d number(3) constraint d_fk references TabeleName(ID) , e number(3) constraint E_NN not null , f number(3) constraint F_U unique , g number(4) default 230 ); create table TableName ( a number(4) , b varchar2(30) , c number(7.2) , d number(3) , e number(3) constraint E_NN not null , f number(3) , g number(4) default 230 , constraint a_pk primary key (a) , constraint c_check check( c = 0 and c 200 ) , constraint d_fk (d) references TabeleName(ID) , constraint F_U unique(f) );制約の確認 select owner,constraint_name,constraint_type,table_name, search_condition,r_constraint_name,status from user_constraints; select owner,constraint_name,table_name,column_name from user_cons_columns; select data_default from user_tab_columns;表の削除 drop table TableName cascade constraints; truncate table TableName; delete from TableName;表名の変更 rename TableName to TableName2;列の追加/変更 alter table TableName add ( ii number(3) constraint ii_nn not null constraint ii_u unique ); alter table TableName modify (name constraint name_nn not null);制約の追加/削除 alter table TableName add constraint NUM_check check( NUM 0 ); alter table TableName drop constraint NUM_check;既存の表から新しい表を作成 create table TableName as select a,b from TableName2 where c=10; create table CopyTable as select * from OriginalTable where 1=2;ビューの作成/削除/確認 create or replace view ViewName as select a,b from TableName where c=10; drop view ViewName; set long 800 set arraysize 1 select view_name,text from user_views;索引の作成/削除/確認 create index IndexName on TableName(row1,row2) tablespace TableSpaceName; drop index IndexName; select index_name,table_name,uniqueness from user_indexes; select index_name,table_name,column_name from user_ind_columns;シノニムの作成/削除/確認 create public synonym SynonymName for Skima.Object; drop public synonym SynonymName; select * from user_synonyms; (private) select * from all_synonyms; (public)順序の作成/削除/キャッシュの変更 create sequence SequenceName start with 5 increment by 2 nomaxvalue nominvalue nocycle nocache; drop sequence SequenceName; alter sequence SequenceName cache 3;検索/追加/更新/削除 select distinct a, b from TableName order by a desc(asc) select sum(SAL) from emp min,max,avg, select ename,job from emp where job like %A% select ename from emp where sal in (150,200,300) select ename from emp where mgr in not null insert into TableName (Col1,Col2) values (12, aa ); insert into emp2 select * from emp where job= manager ; insert into emp2(empno,ename,job) select empno,ename,job from emp; insert into emp (empno,ename) values(41,null) update TableName set Col1=15, Col2= bbb where Col0=8; delete from TableName where Col0=8; 管理用SQL文 データベースファイルの情報を見る select * from sys.dba_data_files ; 表領域情報の確認 select * from sys.dba_tablespaces ; select tablespace_name, file_id, count(*) "PIECES", max(blocks) "MAXMUM", min(blocks) "MINIMUN", avr(blocks) "AVERAGE", sum(blocks) "TOTAL" from sys.dba_free_space group by tablespace_name, file_id ; ユーザオブジェクトのリスト select * from user_objects ; 現在どのユーザがどのマシンでアクセスしているか確認 select username, program, terminal, osuser, status from v$session where user# != 0 ; REDOログの状態を確認 select * from v$log ; REDOログファイルの確認 select * from v$logfile ; REDOログファイルの削除/作成 alter database drop logfile group 1 ; alter database add logfile group 1 /ora/data/log1.log size 50K ; パフォーマンスチューニング ライブラリキャッシュのチェック select sum(pins),sum(reloads), sum(reloads)/(sum(pins)+sum(reloads))* 100 from v$librarycache ; ディクショナリキャッシュのチェック(5~10%を越えないように) select sum(getmisses)/(sum(gets)+sum(getmisses))*100 from v$rowcache; ソート領域のチューニング(この値が高いとメモリの使用効率が悪い。initxxx.ora の SORTB_AREA_SIZE を調整) select v2.value/(v1.value+v2.value)*100 from v$sysstat v1, v$sysstat v2 where v1.statistic# = 161 and v2.statistic# = 162; インデックスの拡張回数の上限に達した時の対処 select count(*) from DWC207T; select count(*),sum(bytes) from user_extents where segment_name= PK_DWC207T ; alter table DWC208T drop primary key; alter table DWC208T add constraint PK_DWC208T prinmary key ( P_N,REV_NO,COOC,TRN_DATE) using index pctfree 5 tablespace JEIS_INDEX storage ( initial 40M next 1M );
https://w.atwiki.jp/ohden/pages/727.html
SQLPlusを使う前に設定しておきたいこと Windows 7-64bit Professional Oracle Database 11g 特にコマンドプロンプトだと絶望的なことになるのでmemo。 現在の設定値は、『SHOW HOGE』で確認できる。 sqlplusを起動して文字化けするようなら、sqlplus起動前に以下の環境変数を設定してやること。何度も使う環境なら、コマンドじゃなくて『システムのプロパティ』から適宜設定してやること。 set NLS_LANG=JAPANESE_JAPAN.JA16SJISTILDE sqlplus USERID/PASSWORD@NET_SERVICE_NAME SET LINESIZE 9999 1行に表示する文字数(Byte指定)を設定する。Windowsのコマンドプロンプトの場合、この値と『画面バッファーのサイズ』の『幅』を合わせてでかくしてやらんと使い物にならんことが多い。 SET PAGESIZE 100 1ページの行数を指定。カラム名を表示するようにしてると、ページ毎にカラム名が表示される。 SET HEADING [ON|OFF] カラム名の『表示:ON』『非表示:OFF』。 SET UNDERLINE [ON|OFF] カラム名の下に出てくる『-』が続く行の『表示:ON』『非表示:OFF』。『SET HEADING OFF』すると一緒に消えるからあんま使わんかな? SET NEWPAGE NONE SQLを実行する前に改行が行われるのを行われなくする。※SQL fileに複数のsqlを書いてた時に改行がうざかったら設定する。 SET FEEDBACK OFF SQLを実行した後に改行が行われるのを行われなくする。※SQL fileに複数のsqlを書いてた時に改行がうざかったら設定する。ただし、この設定offるとdeleteやupdateの件数も表示されなくなるので注意。 SPOOL [FILEPATH|OFF] FILEPATHを指定すると、実行結果が指定fileに出力される。 SET TRIMSPOOL [ON|OFF] ONを指定すると、SPOOL出力時の行末に付いてるspaceを消してくれる。 SET TIMING [ON|OFF] sqlの実行時間を10msec単位で計測してくれる。 SET TERMOUT [ON|OFF] sqlをfileから実行する際に実行結果を画面に表示したくない場合、OFFを設定する。直接sql打ち込んだ場合は制御対象外。 SET AUTOCOMMIT [ON|OFF] ONにするとsqlが成功した時点でcommitされる。使い方によっては便利だけど、結構危険なので注意ね。 ココら辺も参考にしてください。 http //otndnld.oracle.co.jp/document/products/oracle11g/111/doc_dvd/server.111/E05784-01/ch12040.htm 更新日: 2015年10月15日 (木) 17時20分07秒 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/honeybe/pages/12.html
SQL*Plusオプション SQL*Plusの初期設定 SQL*Plus実行ディレクトリにlogin.sqlを作成。中に書かれているスクリプトがlogin時に実行される。 SQL*Plus パラメータ serveroutput set serveroutput on size 1000000 DBMS_OUTPUT パッケージの出力を有効にする。offで無効。 1000000はバッファサイズ。(2000~1000000。省略時は20K) pagesize set pagesize 1000 各ページに出力される行数を設定。(0~50000。省略時は14) 0でページ間のセパレータ無し。 trimspool set trimspool on spool 時に行の終わりに後続の空白を削除する。offで削除しない。 colsep set colsep , カラム間の区切り時文字を指定する。 feedback set feedback on 「~行が選択されました」を表示する。offで非表示。 echo set echo on コンソールメッセージを表示する。offで非表示。 heading set heading on 列名を表示する。offで非表示。 検索結果をcsvファイルで出力する。 set echo off set linesize 1000 set pagesize 0 set trimspool on set feedback off set colsep , spool hoge.csv select * from hoge spool off
https://w.atwiki.jp/keyplus/pages/17.html
Keyplusはポーツ鯖で活動をしています。ギルドの方針はのびのびとした環境の中、みんなでまったりとc9活動することです。 また、スカイプによるボイスチャットに対応しているため、プレイしながらでも会話を楽しむことができます。
https://w.atwiki.jp/honeybe/pages/4.html
Contents Contents SQL/DDL SQLJOININNER JOIN OUTER JOIN 設定されている制約を参照する。 SEQUENCEを参照する。 PL/SQL パッケージの一覧を参照する。 PL/SQLパッケージソースの復元 View のソースを復元 INSERT...SELECT文の構文 トランザクション管理セーブポイント 月末日を求める。 欠番探索 その他shellからSQLを実行する。SQLファイルを実行 SQL文を実行 なんかあればどうぞ SQL/DDL SQL JOIN INNER JOIN select * from hoge h inner join fuga f on (h.id = f.id) 以下と等価。 select * from hoge h, fuga f where h.id = f.id OUTER JOIN select * from hoge h left outer join fuga f on (h.id = f.id) 以下と等価。 select * from fuga f right outer join hoge h on (f.id = h.id) select * from hoge h, fuga f where h.id = f.id(+) [left|right]は省略可能。(省略時はleft) 設定されている制約を参照する。 select a.table_name, b.column_name, a.constraint_name, a.constraint_type from user_constraints a, user_cons_columns b where a.table_name = b.table_name (+) and a.constraint_name = b.constraint_name (+) SEQUENCEを参照する。 SELECT * FROM USER_SEQUENCES PL/SQL パッケージの一覧を参照する。 select object_name from user_objects where object_type = PACKAGE object_typeには INDEX, LOB, PACKAGE, PACKAGE BODY, PROCEDURE, SEQUENCE, TABLE, SYNONYM がある。 PL/SQLパッケージソースの復元 select text from user_source where name = 必要なパッケージ名 and type = PACKAGE BODY order by line spoolに出力するがよい。 typeには INDEX, LOB, PACKAGE, PACKAGE BODY, PROCEDURE, SEQUENCE, TABLEがある。 View のソースを復元 select text from user_views where view_name= ビュー名 ; set long 4000; などして、longの表示可能サイズを拡大する。 INSERT...SELECT文の構文 insert into table_name1 (col_name1, col_name2...) select col_mame1, col_name2... from table_name2 where id = 1; values句は不要。 カラムの型は同じでないといけない。 トランザクション管理 セーブポイント savepoint セーブポイント名 commitはトランザクション全てコミットされる。 rollbackはトランザクション全て破棄される。 同一トランザクション内で同じ名前のセーブポイントを指定した場合、上書きされる。 rollback to savepoint セーブポイント名; セーブポイント名を設定した以後のトランザクションが破棄される。 セーブポイント以前のトランザクションは生き。 セーブポイント名が未設定のセーブポイントの場合、エラーとなる。 月末日を求める。 TO_DATE(TO_CHAR(ADD_MONTH(TO_DATE( 適当な日付 ), 1), YYYY/MM ) || /01 ) -1 適当な日付 に1月足して、月初日(01)を算出し、1日引く。 欠番探索 select NEW_CODE = min(t1.CODE + 1) from ( select CODE from [TABLE] union all select CODE from [RESERVE] (READUNCOMMITTED) ) t1 left outer join ( select CODE from [TABLE] union all select CODE from [RESERVE] (READUNCOMMITTED) ) t2 on (t1.CODE + 1) = t2.CODE where t2.CODE is null via @IT掲示板 http //www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=15927 forum=26 5 その他 shellからSQLを実行する。 SQLファイルを実行 sqlplus -S uid/pass@sid @hoge.sql SQL文を実行 sqlplus -S uid/pass@sid END select sysdate from dual; exit sql.sqlcode END なんかあればどうぞ 名前 コメント
https://w.atwiki.jp/kogiku/pages/22.html
便利コマンド 実行中のsqlを中断したい時 ctrl+c テーブル定義を調べる時 SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME= テーブル名 ; 実行結果 TABLE_NAME COLUMN_NAME DATA_TYPE ****** ************* *********** テーブル名 YMD DATE テーブル名 USER_ID CHAR テーブル名 USER_NAME CHAR テーブル名 ADDRESS CHAR テーブル名 TEL/FAX CHAR
https://w.atwiki.jp/rinn/pages/74.html
□Oracle SQL*PLUS実行時エラーコードの設定する バッチ処理などで、SQL*PlusコマンドからSQL処理などでエラー(Oracleの例外除く)を検知した場合任意のエラーコードを外部に渡す方法が以下になります。 exit n; nに任意のエラーコードを入れると、外部シェルで受け取ることができます。 Windowsの場合 sqlplus /nolog SQL*Plus Release 9.2.0.1.0 - Production on 月 Mar 23 17 25 51 2009 opyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL exit 5; echo %ERRORLEVEL% 5
https://w.atwiki.jp/sakaj/pages/18.html
WriteFile( DumpSqlNode( sn ) ); function DumpSqlNode( Sn, indent ){ var indent = IsGiven(indent) ? indent+ ; if( Sn.Type== Bracket ){ return DumpBracket( Sn, indent ); } else{ return DumpElement( Sn, indent ); } function toStringElement(e, indent){ if( e instanceof SqlNode ){ return DumpSqlNode( e, indent ); }else{ return indent + TrimLeft(e) ; } } function DumpElement( Sn, indent ){ var yy = []; var ee = Sn.Elements; if( Sn.Type!=null ){ yy.push( indent + Sn.Type ); } if( !Sn.HasSqlNode() ){ var zz = []; for( var i=0; i ee.length; i++ ){ zz.push( toStringElement( ee[i], ) ); } yy.push( zz.join( ) ); }else{ for( var i=0; i ee.length; i++ ){ yy.push( toStringElement( ee[i], indent ) ); } } return yy.join( !Sn.HasSqlNode() ? \r\n ); } function DumpBracket( Sn, indent ){ var yy = []; var ee = Sn.Elements; if( !Sn.HasSqlNode() ){ yy.push( ( ); yy.push( ee.join( ) ); yy.push( ) ); }else{ yy.push(indent + ( ); for( var i=0; i ee.length; i++ ){ yy.push( toStringElement( ee[i], indent ) ); } yy.push(indent + ) ); } return yy.join( !Sn.HasSqlNode() ? \r\n ); } } function SqlNode(Type_, Parent_){ //Select, From, Where, OrderBy, GroupBy, Bracket this.Type = Type_; this.Parent = null; this.Elements = []; var ro; if(ro==null){ ro = new RegExpOperator(); ro.AddKey( {Name Select , RegExp /Select /i} ); ro.AddKey( {Name From , RegExp / From /i} ); ro.AddKey( {Name Left Outer Join , RegExp /Left +Outer +Join/i} ); ro.AddKey( {Name Inner Join , RegExp /Inner +Join/i} ); ro.AddKey( {Name On , RegExp / On /i} ); ro.AddKey( {Name Where , RegExp / Where /i} ); ro.AddKey( {Name Order By , RegExp /Order +By/i} ); ro.AddKey( {Name Group By , RegExp /Group +By/i} ); ro.AddKey( {Name Bracket.From , RegExp /\(/i} ); ro.AddKey( {Name Bracket.To , RegExp /\)/i} ); } function Read( Sql ){ Sql = Sql.replace(/ +/g, ); var r = ro.Search(Sql); var rn = r.Name; if( rn!=null ){ // --------sqlPrev--------r.From xxx r.To--------sqlNext-------- var t = this.Type; var sn = new SqlNode( rn.split( . )[0] ); var sqlPrev = Sql.substring( 0, r.From ); var sqlNext = Sql.substring( r.To ); this.AddElement( sqlPrev ); if( rn== Bracket.From ){ this.AddElement( sn ); } else if( rn== Bracket.To ){ sn = this.GetUpperContext(); } else{ if( t!=null t!= Bracket ){ this.Parent.AddElement( sn ); }else{ this.AddElement( sn ); } } sn.Read( sqlNext ); }else{ this.AddElement( Sql ); } } function AddElement( e ){ if( e!= (e+ ).Rmv( )!= ){ if( e instanceof SqlNode ){ e.Parent = this; } this.Elements.push( e ); //ll.push( this.GetPath() + + e.Type ); } } function GetPath(){ if( this.Parent!=null ){ return this.Parent.GetPath() + . + this.Type; } return this.Type; } function GetUpperContext(){ var p = this.Parent; return (this.Type== Bracket ) ? p p.GetUpperContext(); } function HasSqlNode(){ var b = false; for( var i=0; i this.Elements.length; i++ ){ var e = this.Elements[i]; if( e instanceof SqlNode ){ b = b || ( e.Type== Bracket ? e.HasSqlNode() true ); } } //ll.push( this.GetPath() + + b ); return b; } SqlNode.prototype.GetUpperContext = GetUpperContext; SqlNode.prototype.GetPath = GetPath; SqlNode.prototype.Read = Read; SqlNode.prototype.AddElement = AddElement; SqlNode.prototype.HasSqlNode = HasSqlNode; } function TrimLeft(xxx){ if( xxx.charAt(0)== ){ return TrimLeft(xxx.substring(1)); } return xxx; } function RegExpOperator(){ this.RegExps = [];//{Name,RegExp} function AddKey( key ){ this.RegExps.push(key); } function Search(text){ var rn = null;//Name var rpFrom = -1;//Position var rpTo = -1;//Position for( var i=0; i this.RegExps.length; i++ ){ var r = this.RegExps[i] var p = text.search( r.RegExp ); if( 0 =p ){ if( rpFrom==-1 || p rpFrom ){ rn = r.Name; rpFrom = RegExp.index; rpTo = RegExp.lastIndex; } } } return { Name rn, From rpFrom, To rpTo }; } RegExpOperator.prototype.AddKey = AddKey; RegExpOperator.prototype.Search = Search; }
https://w.atwiki.jp/plus0909/pages/13.html
このクランの歴史ですd( ̄  ̄) ピンチのたびに、団結力高くなってますd(^_^o) このヒストリーは新規さんに歴史を知ってもらうためのものであり 誰が悪いとか攻めたりとかそういう目的はありませんm(_ _)m ヒストリー 2014.9.9 T-dacchi、vividsonによりクラン創設! 2014.10. ピンチ1 新しいメンバーが次々と参加!(これは良い) しかし一部新規メンバーの発言力が強く ちょっと乗っ取られそうになるσ(^_^;) 結局この時は乗っ取りの主格人物をリーダーが 止むを得ずキックすることで場を収めました…。 2014.11. ピンチ2 誰ですか!防衛援軍にゴブリン入れたのはー! 犯人名乗らず、雰囲気が悪くなる。 これにより主要メンバーが何人か抜ける(泣) この時は最終的に犯人が特定され、また止むを得ず リーダーが該当人物をキックすることで場を収めました。 2014.12. ホームページ開設 2015.2.1 対戦用クランΣPLUSΣを創設 2015.2.24 対戦用クランを統合廃止 公式のアプデにより、クラン対戦の仕様変更があったため 対戦用クランは廃止のはこびとなりました。