こんにちは。教えてください。
小職はオラクルデータベースを使って銀行振り込みファームバンキングをする
プログラムを作成しています。
出力項目の振り込み名義人名カナは小文字のみ指定です。
そこでオラクルのテーブルに小文字しか入力できない制限を指定したいのですが
ご存じの方は教えてください。

オラクル側で入力制限を行うのが一番堅いと思います。
よろしくお願いします。
(^^

このQ&Aに関連する最新のQ&A

A 回答 (2件)

補足ありがとうございます。



全角半角チェックは、TO_SINGLE_BYTE関数でチェックできると思います。
アルファベットの大文字小文字はLOWER関数でチェックできると思います。

この2つの関数でCHECK制約をつければできると思います。ただ心配なのは、全角ひらがなと漢字のチェックができるかどうか・・・

この回答への補足

実際フィールド変更を行ったのは私ではありませんが出来ました。
ありがとうございました。

補足日時:2001/05/22 17:40
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考になります。

お礼日時:2001/05/18 19:44

>振り込み名義人名カナは小文字のみ


カナは小文字のみというのは、半角カタカナのみと意味でしょうか?
それとも、ローマ字でアルファベット小文字(半角?全角?)のことでしょうか?

それによって若干違うのですが、入力されているのが必ずカタカナ、またはアルファベットと限定できるのなら、CHECK制約でできると思います。

どの文字が入力されるかわからなくて、それでも半角カタカナまたはアルファベット小文字と限定したいのであれば、トリガーでチェックすればできると思います。(一応Oracleの講習会ではそれでするようにと言っていました)

この回答への補足

回答ありがとうございます。^^/

振り込み名義人名は半角カタカナとアルファベット半角小文字です。

二つは難しいのでしょうか、、、

補足日時:2001/05/18 18:56
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QPostgreSQLのデータに半角カナが混入したので全角カナへの変換方法は?

LinuxでPostgreSQLを使っています。
ある人が商品名を全て半角カナで登録してしまい、後で気づきましたのでそのコンバートをどうするか考えています。

DBでインサートする前に文字列が半角カナが含まれているかチェックする関数を作成しておけばよかったのですが後の祭りです。

Perlとかで変換できるのでしょうか?

Aベストアンサー

postgresにはreplace関数はないみたいですね。
SELECT文で半角文字が含まれるのを検索してきて
UPDATEするプログラムを作るか
あと試していませんが
http://chaostic.noexistent.com/loatbell/main/Documents/02prog/postgresql/#10translate
にPostgresで文字置換のSQL文がありましたよ。

Qファイルメーカーの入力値の制限

ファイルメーカーPro7の初心者です。フィールド定義のオプション,入力値の制限での「このフィールドの入力値を制限する」の「常時」と「データの入力時のみ」の違いが分かりません。どのように使い分けたらよいかお教え下さい。具体例も挙げていただければ幸いです。宜しくお願い致します。

Aベストアンサー

ファイルメーカーは使用したことがありません(^^;
で、常識的にいえば

データの入力時のみ:ユーザーがキーボード等から値を入力する時だけ
常時:プログラム的に計算結果の書き込み時や、他のテーブルから値のコピーなどさまざまなケースを含めてすべて

と考えます。

Qファイルメーカでのパスワードの設定や入力制限について

ファイルメーカで有給休暇管理表を作成しています。
有休申請をした後、上司の承認があった際、申請内容を編集出来ないように、データを固定(確定)したいのですが、ファイルメーカ プロのソフトでそのような設定は可能ですか?

例)
氏名:A子
有休残:20日
申請日:2006/8/28
休暇予定日:2006/8/31
申請日数:1日
休暇取得後有休残:19日
承認:●許可○不許可

↑承認のフィールドは値一覧で定義をし、ラジオボタンで選択出来るよう設定してあります。
許可の選択があった時点で、このレコードの「氏名~休暇取得後有休残」までのデータを確定させ、後から編集出来ないようにしたいのですが、ファイルメーカでそのような設定は可能ですか?

また、他の人の有休データを見れないよう、パスワードを設定し管理をしたいのです。
例えば、A子、B子、C子.....数十名のレコードがあるとします。
A子が自分の名前を入力すると、予め設定したパスワードを入力することにより、自分のデータが表示され、B子やC子などのデータは、A子が見れないよう管理をしたいのですが、そのような設定は可能でしょうか?

どうか、良きアドバイスの方、宜しくお願いします。

ファイルメーカで有給休暇管理表を作成しています。
有休申請をした後、上司の承認があった際、申請内容を編集出来ないように、データを固定(確定)したいのですが、ファイルメーカ プロのソフトでそのような設定は可能ですか?

例)
氏名:A子
有休残:20日
申請日:2006/8/28
休暇予定日:2006/8/31
申請日数:1日
休暇取得後有休残:19日
承認:●許可○不許可

↑承認のフィールドは値一覧で定義をし、ラジオボタンで選択出来るよう設定してあります。
許可の選択があった時点で、このレコード...続きを読む

Aベストアンサー

個人的には、社内の「ユーザ名」管理が、きちんと出来ていれば、パスワード(機能)は、省略したいと思っていますが、
性悪説で、パスワード機能を、盛り込んでみました。

ついでに、有休所得日数の、20日 というのは、年度ごとでしょうから、年度管理も出来るように、考えました。
同時に、個人ごとに、スタート日数が異なるのも、対応可能にしました。

基本的ポリシーは、
1:氏名は、Status(ユーザ名) で、自動記入にするが、手動変更も可能。
2:パスワードは、1年間につき、1パスワードをフィールドで用意
3:通常はパスワード無しで、開くように強制設定。
4:管理者は、パスワードを入力して使用。


【フィールド定義】

フィールド名   :タイプ  :(式など)
---------:-----:---------------
ユーザ名_入力  :計算   :Status(ユーザ名)
パスワード_入力 :グローバル:(テキストタイプ)
年度_入力    :グローバル:(数字タイプ)
UPY_入力   :計算   :テキストタイプ
               :ユーザ名_入力 & パスワード_入力 & 年度_入力
申請日_入力   :グローバル:(日付タイプ)
休暇予定日_入力 :グローバル:(日付タイプ)
申請日数_入力  :グローバル:(数字タイプ)

ユーザ名_記録  :テキスト :
パスワード_記録 :テキスト :(テキストタイプ)
年度_記録    :数字   :
UPY_記録   :計算   :テキストタイプ
               :ユーザ名_記録 & パスワード_記録 & 年度_記録
               :索引設定する
申請日_記録   :日付
休暇予定日_記録 :日付
申請日数_記録  :数字
許可_記録    :テキスト

2:リレーション
自己リレーション
UPY_入力でUPY_記録を見に行く。

3:ファイルを開いたときに、実行するスクリプトで、パスワードを "" に、する。

【動作】
通常ユーザーは、ファイルを開くと、
 ユーザ名_入力  フォールドに、ユーザ名が入力されている。
 パスワード_入力 フィールドに、必要事項入力
 年度_入力    フィールドに、必要事項入力
この時点で、ポータルウインドウに、本年の取得状況と、申請、許可状況が表示されている。

続けて、
 申請日_入力   フィールドに、必要事項入力
 休暇予定日_入力 フィールドに、必要事項入力
 申請日数_入力  フィールドに、必要事項入力

「申請」ボタンを押す。
申請ボタンのスクリプトは、
 新規レコード
 フィールド設定 ユーザ名_記録  ← ユーザ名_入力
 フィールド設定 パスワード_記録 ← パスワード_入力
 フィールド設定 年度_記録    ← 年度_入力
 フィールド設定 申請日_記録   ← 申請日_入力
 フィールド設定 休暇予定日_記録 ← 休暇予定日_入力
 フィールド設定 申請日数_記録  ← 申請日数_入力
 フィールド設定 許可_記録    ← ""
 プレビューモードへ(一時停止しない)
 ブラウズモードへ

ポータルの中は、いじれないようにしておく。

うーん、とても複雑な上、申請ボタンを押した瞬間に、申請者も、変更できない状況ですね。

イマイチな、回答で、すみません。
イメージ沸きますでしょうか?

絶対、もっとスマートな方法が、有るだろうな。
とても、超初心者が組むべき命題ではないと思います。

個人的には、社内の「ユーザ名」管理が、きちんと出来ていれば、パスワード(機能)は、省略したいと思っていますが、
性悪説で、パスワード機能を、盛り込んでみました。

ついでに、有休所得日数の、20日 というのは、年度ごとでしょうから、年度管理も出来るように、考えました。
同時に、個人ごとに、スタート日数が異なるのも、対応可能にしました。

基本的ポリシーは、
1:氏名は、Status(ユーザ名) で、自動記入にするが、手動変更も可能。
2:パスワードは、1年間につき、1パスワードを...続きを読む

Qファイルメーカー(FileMaker)の関数を使って入力を制限

例えばファイルメーカーPro(FileMaker Pro 7.0v3)でメールアドレスのテキストフィールドを作成する場合。
入力できるテキストを40字(半角小文字a~z、半角0~9、半角アッ
トマーク、半角ピリオド、半角ハイフン、半角アンダースコア)のみに制限する方法はありますか?

※メールアドレスはあくまでも一例です。

Aベストアンサー

ウチは5.5なんですが、

グローバルフィールド「AllowChar」を繰り返し40で作成。中身は許
可する文字を列記したもの

計算フィールド「AllowCharCount」を繰り返し40で作成。計算式は
PatternCount(Extend(アドレス), AllowChar)

「アドレス」の制限を計算して求める
Length(アドレス) =Sum(AllowCharCount)

これでオッケーでした。

QSQL: SELECT UNIONすると文字数制限があるようですべて取得できない

こんにちは

VBSでADODBを使ってmdbファイルを扱っています。
2つのテーブルから、共通するID(2つのテーブル全体で一意で連番になっている)を使ってデータを取り出そうとしているのですが、うまくいきません。

Select ID, ContentA from A UNION SELECT ID, ContentB from B order by ID

レコードは取得できるのですが、テーブルAから取得するレコード(こちらの方がデータが長い)は255文字までしか取得できません。

これを、SELECT UNIONを使わないと255文字以上取得できるのです。
どうすればよいのでしょうか。

Aベストアンサー

DBの種類やバージョンによってUNION時の挙動にばらつきがあるみたいですね。
本来二つのテーブルのデータ型が同じであれば、切り詰められることはないはずですけどね
DB側の制限だとそのままでは解決できないので
たとえばテンポラリテーブルをつかえるDBならAテーブル、Bテーブルを順に
流し込んで結果を取得するなど工夫するしかないかも


人気Q&Aランキング

おすすめ情報