Tag Archives: Oracle

消費税を計算するOracle PL/SQLパッケージ

消費税込み金額を計算したり、税抜き金額を計算したりするPL/SQLパッケージ。
消費税率が変わったらTAX_CALENDARという名前のテーブルに税率を追加すればいい。
これで消費税が上がっても大丈夫。10%でも20%で … Continue reading

Posted in Code, Tech | Tagged | Leave a comment

ユーザ管理をするOracle PL/SQLパッケージ

ユーザIDやパスワードは、OracleのDBMS_OBFUSCATION_TOOLKITパッケージを使って暗号化して保管するPL/SQLパッケージ。DBMS_OBFUSCATION_TOOLKITを使っているので、Ora … Continue reading

Posted in Code, Tech | Tagged | Leave a comment

ISBN10桁13桁変換Oracle PL/SQLパッケージ

去年作ったモノですが、気がつくと結構あちこちで使っていた。
手元ではLinux版のOracle9iで動作しています。

/* Oracle用 ISBNパッケージ
10桁と13桁のISBNを相互に変換する。チェックデジットの計算もできる。

http://www.isbn-center.jp/

$Id: pkg_isbn.sql,v 1.5 2005/11/07 02:12:27 ymo Exp $
*/

CREATE OR REPLACE PACKAGE ISBN_PKG AS
/*
|| 入力されたISBNをチェックデジットを付けたりいろいろする。
|| 10桁を13桁に直したり、13桁を10桁に直すこともできる。
*/
FUNCTION ISBN10(i_isbn IN varchar2) RETURN varchar2;
FUNCTION ISBN13(i_isbn IN varchar2) RETURN varchar2;

/*
|| 入力されたISBNをチェックデジットを抜いた大事なところだけにする。
*/
FUNCTION REGULATE_ISBN(i_isbn IN varchar2) RETURN varchar;

/*
|| 10桁版チェックデジットを計算して返す
|| 入力は9文字、10文字、13文字のどれか
*/
FUNCTION CHECK_DEGIT10( i_isbn IN varchar2) RETURN char;

/*
|| 13桁版ISBNのチェックデジットを計算して返す。
|| 入力は9文字、10文字、13文字のどれか
*/
FUNCTION CHECK_DEGIT13( i_isbn … Continue reading

Posted in Code, Tech | Tagged | Leave a comment

半角全角関係のOracle ストアドファンクション

わかりやすさを優先してストアドファンクションにしていますが、パッケージにして、静的な変数を使ったほうが当然パフォーマンスはあがると思います。これは、Oracle9iで動くことは確認しました。

全角のアルファベット、 … Continue reading

Posted in Code, Tech | Tagged | Leave a comment