SQL - (2005/12/07 (水) 11:48:43) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*Contents
#contents
----
*SQL構文
**テーブル名を変更する。
-rename
> rename 変更前テーブル名 to 変更後テーブル名
**設定されている制約を参照する。
> 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 (+)
**PL/SQL パッケージの一覧を参照する。
> select object_name from user_objects
> where object_type = 'PACKAGE'
object_typeには INDEX, LOB, PACKAGE, PACKAGE BODY, PROCEDURE, SEQUENCE, TABLEがある。
**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がある。
**INSERT...SELECT文の構文
> insert into table_name1 (col_name1, col_name2...) select col_mame1, col_name2... from table_name2 where id = 1;
-values句は不要。
-カラムの型は同じでないといけない。
**alter table
***項目追加
> alter table テーブル名 add (項目名 型);
***項目長変更
> alter table テーブル名 modify (項目名 型);
-型の変更、長さを変更できる。
**トランザクション管理
***セーブポイント
> savepoint セーブポイント名
-commitはトランザクション全てコミットされる。
-rollbackはトランザクション全て破棄される。
-同一トランザクション内で同じ名前のセーブポイントを指定した場合、上書きされる。
> rollback to savepoint セーブポイント名;
-セーブポイント名を設定した以後のトランザクションが破棄される。
-セーブポイント以前のトランザクションは生き。
-セーブポイント名が未設定のセーブポイントの場合、エラーとなる。
**月末日を求める。
> TO_DATE(TO_CHAR(ADD_MONTH(TO_DATE('適当な日付'), 1), 'YYYY/MM') || '/01') -1
-適当な日付 に1月足して、月初日(01)を算出し、1日引く。
----
*なんかあればどうぞ
#comment(vsize=2,nsize=20,size=40)
*Contents
#contents
----
*SQL構文
**テーブル名を変更する。
-rename
> rename 変更前テーブル名 to 変更後テーブル名
**設定されている制約を参照する。
> 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 (+)
**PL/SQL パッケージの一覧を参照する。
> select object_name from user_objects
> where object_type = 'PACKAGE'
object_typeには INDEX, LOB, PACKAGE, PACKAGE BODY, PROCEDURE, SEQUENCE, TABLEがある。
**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がある。
**INSERT...SELECT文の構文
> insert into table_name1 (col_name1, col_name2...) select col_mame1, col_name2... from table_name2 where id = 1;
-values句は不要。
-カラムの型は同じでないといけない。
**alter table
***項目追加
> alter table テーブル名 add (項目名 型);
***項目長変更
> alter table テーブル名 modify (項目名 型);
-型の変更、長さを変更できる。
**トランザクション管理
***セーブポイント
> savepoint セーブポイント名
-commitはトランザクション全てコミットされる。
-rollbackはトランザクション全て破棄される。
-同一トランザクション内で同じ名前のセーブポイントを指定した場合、上書きされる。
> rollback to savepoint セーブポイント名;
-セーブポイント名を設定した以後のトランザクションが破棄される。
-セーブポイント以前のトランザクションは生き。
-セーブポイント名が未設定のセーブポイントの場合、エラーとなる。
**月末日を求める。
> TO_DATE(TO_CHAR(ADD_MONTH(TO_DATE('適当な日付'), 1), 'YYYY/MM') || '/01') -1
-適当な日付 に1月足して、月初日(01)を算出し、1日引く。
**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
----
*なんかあればどうぞ
#comment(vsize=2,nsize=20,size=40)
表示オプション
横に並べて表示:
変化行の前後のみ表示: