• ベストアンサー

オラクルのテーブルでの入力制限

msystemの回答

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

>振り込み名義人名カナは小文字のみ カナは小文字のみというのは、半角カタカナのみと意味でしょうか? それとも、ローマ字でアルファベット小文字(半角?全角?)のことでしょうか? それによって若干違うのですが、入力されているのが必ずカタカナ、またはアルファベットと限定できるのなら、CHECK制約でできると思います。 どの文字が入力されるかわからなくて、それでも半角カタカナまたはアルファベット小文字と限定したいのであれば、トリガーでチェックすればできると思います。(一応Oracleの講習会ではそれでするようにと言っていました)

suneishi
質問者

補足

回答ありがとうございます。^^/ 振り込み名義人名は半角カタカナとアルファベット半角小文字です。 二つは難しいのでしょうか、、、

関連するQ&A

  • オラクルテーブルで受け付けない文字

    ACCESS97のデータベースで オラクルのテーブルを使用しています。 アクセスのテーブルではクエリーが実行できたのですが (実行時に読込めた) 名前を変更して、(リンクしている)オラクルテーブルで実施すると 上手く行きません。 オラクルテーブルでは、受けつけない文字があると聞いたことがあります。 例えば、 " や ' など。 このような文字 一覧がわかるページ等 ないでしょうか? 

  • AccessからOracleのテーブルに半角スペースを入力したい

    Oracle8.0.5のデータベースがあり、そのテーブルにAccess97経由でデータを登録しようとしています。なお、ODBCドライバにはOracleのドライバを使用しています。 このテーブルには CHAR(1) NOT NULLのフィールドがあり、この項目にはデータとして半角スペースをセットする場合があるのですが、Accessのデータシートビューで当該項目に半角スペースを入力して次の項目に進もうとすると次のエラーが出て入力できません。 「バリアント型ではない変数にNull値を代入しようとしました」 たぶんODBCドライバ側で半角スペースにトリムをかけてしまうためだと思われるのですが、どうにか半角スペースを入力する方法はないものでしょうか?

  • Oracle Nunber型の精度(桁数)について

    Oracleデータベース上のテーブルにNUMBER(1,0)で定義した項目を追加し、 その項目にSQLで値(数値で1、または0)をセットしたところ、「ORA-01438: この列に許容される指定精度より大きな値です」のエラーが発生しました。 同じテーブル上に元々NUMBER(1,0)で定義された項目があり、そちらでは 同じエラーがでません。 何か原因として考えられる事はあるのでしょうか?

  • AccessからOracleへのリンクテーブル時の型情報?

    Access始めたばかりの初心者です。 現在Oracle10gのデータベースのとあるテーブルを をAccess2000でリンクし、クエリで抽出したものをレポートに表示 しようとしています。 そのテーブル上に、 Oracle上ではVARCHAR2(6バイト)の日付データがあります。 例) 200806 これをAccessのクエリ上で変換し、 "6月" と表示させたいのですが、 なぜかうまくいきません。 Oracle上の項目名が YM だとすると、 Replace(Right([YM], 2), "0", "") & "月" こういった関数でうまくいきそうなものですが・・ もしかしてOracleのVARCHAR2はリンクすると文字列型以外の型として 扱われるのでしょうか・・ どなたかご存じの方、ご教授くださいませ。

  • エクセルでセルに入力制限をしたいのですが。

    例えばA1のセルには全角で10文字まで、B1のセルには半角カナで10文字までという入力制限ができるでしょうか?入力規則で設定したところ、文字数制限はできるのですが、半角,全角の区別をしてくれません。 よろしくお願いします。

  • Accessのテーブルの保護解除

    Accessのテーブルに文字を入力しても、入力できません。 知人にデータベースを作ってもらったものなのですが、 どうやら書き込み制限がかかっているようです。 これを解除する方法を教えてください。 宜しくお願いします。

  • オラクルのDATE型について

    オラクルのDATE型について教えて下さい。 以前の質問にも同じような質問があったのですが、内容を少し違うようなので 質問させていただきます。 オラクルの8.1.6のデータベースにおいて "A" テーブルの中の "B" 項目をdate型にしました. AテーブルのB項目のデータが現在は "YY/MM/DD"形式で格納されていますが、それを "YYYY/MM/DD"形式で格納したいのですが、どのようにすれば良いでしょうか? やはり、テーブルを再度作りなおさないと行けないのでしょうか? ちなみに開発環境はOracle8.1.6 オブジェクトブラウザ-を使用しています。 宜しくお願い致します。

  • Oracleの文字対応について。

    Oracleのデータベースは、ユニコードに対応しているのでしょうか? 『膁』という文字を入力したいのですが・・・。

  • AccessでOracleのテーブルをリンクし、Access側では読み取り専用にしたい

    社内にOracleデータベースでのシステムが立ち上がっているのですが、管理帳票の出力用に、OracleのデータをAccessで読み込みたいと思っています。 テーブルのリンクそのものは知っており、成功しているのですが、Oracleデータベースのデータを壊さないようにするため、このリンクテーブルを読み取り専用にしたいと思っています。どのようにすれば良いでしょうか。 なお、Oracle側で読み取り専用ユーザを作成して、そのユーザでリンクすれば良いことは理解していますが、それは最後の手段にしたいと思っています。別の方法でうまくできないでしょうか。

  • Oracle 

     ここでお世話になったおかげで立派な(?)プログラマになれました。そこで、またしてもお願いなんですがOracleでのデータが返ってくるスピードについて伺いたいのです。10項目のフィールドがあるテーブルで、それらを1つずつ書いて指定するのと*を使って取得するのとでは、どちらが早いのでしょうか?データの量にも寄ると思いますが一考を伺いたいです。皆々様、宜しくお願い致します。