Oracleで30文字より長いファンクション名(とかの識別子)は付けられない

Oracle 11gでFunctionで処理をしてしまおうと

CREATE OR REPLACE FUNCTION なんとかかんとか長いファンクション名 (code in VARCHAR) RETURN VARCHAR2
// 処理いろいろ
END;

を流すとエラーが

エラー・レポート -
ORA-00972: 識別子が長すぎます。
00972. 00000 -  "identifier is too long"
*Cause:    An identifier with more than 30 characters was specified.
*Action:   Specify at most 30 characters.

Function名に30文字以上はだめ..?
PL/SQLのプログラム上の制限

識別子は30Byteまででした
古い作りの名残でしょうか..

Oracleで途中からプライマリーキーを追加する

oracleを使って開発中に途中で、テーブルの世代管理が必要になるという悲劇に遭遇した際は
世代管理用フィールドの追加とPrimaryKeyを張り替えます

ALTER TABLE sample_table ADD (
    rev NUMBER(8)
);

ALTER TABLE sample_table DROP PRIMARY KEY;

UPDATE sample_table SET rev  = 0;

ALTER TABLE sample_table ADD PRIMARY KEY (ID, REV);

IDはもともと用意していたPrimary keyです
Primary keyにするにはnullではだめなので、0をセットしています

linuxの便利なコマンドtips

Ubuntu、bashで試してます

深いところにディレクトリをつくって移動

$ mkdir sample/test
$ cd sample/test

とするとき

$ mkdir sample/test
$ cd $_

でできます
もしくは

$ mkdir sample/test
$ cd (ESCキー押して、ドット(.)を押す)

でもできます

cdした後、前のディレクトリに戻る

$ cd sample/test
とした後
$ cd –
とすると元に戻ります