8
A
答えて
14
Dump機能:
データ型コード、バイト単位の長さ、およびexprの内部表現を含むVARCHAR2値を返しを。返される結果は、常にデータベース・キャラクタ・セット内にあります。各コードに対応するデータ型については、表2-1を参照してください。
クエリを書いた場合は
4
、あなたはそれに基づいてビューを作成し、データ・ディクショナリは、カラムのデータ型が何であるかを確認するためにクエリを実行できます。
create view vw_test as
select 1 an_integer,
'abc' a_string,
sysdate a_date
from dual;
desc vw_test;
Name Null Type
----------- -------- ------------------
AN_INTEGER NUMBER
A_STRING CHAR(3)
A_DATE DATE
私は推測しています、しかし、実行時にこれを判断する一般的な方法が必要です。 DDLが関係するので、この方法はあまり役に立ちません。 DBMS_SQLはあなたを助けることができ、この場合には:
DECLARE
c NUMBER;
d NUMBER;
col_cnt INTEGER;
f BOOLEAN;
rec_tab DBMS_SQL.DESC_TAB;
col_num NUMBER;
PROCEDURE print_rec(rec in DBMS_SQL.DESC_REC) IS
BEGIN
DBMS_OUTPUT.NEW_LINE;
DBMS_OUTPUT.PUT_LINE('col_type = '
|| rec.col_type);
DBMS_OUTPUT.PUT_LINE('col_maxlen = '
|| rec.col_max_len);
DBMS_OUTPUT.PUT_LINE('col_name = '
|| rec.col_name);
DBMS_OUTPUT.PUT_LINE('col_name_len = '
|| rec.col_name_len);
DBMS_OUTPUT.PUT_LINE('col_schema_name = '
|| rec.col_schema_name);
DBMS_OUTPUT.PUT_LINE('col_schema_name_len = '
|| rec.col_schema_name_len);
DBMS_OUTPUT.PUT_LINE('col_precision = '
|| rec.col_precision);
DBMS_OUTPUT.PUT_LINE('col_scale = '
|| rec.col_scale);
DBMS_OUTPUT.PUT('col_null_ok = ');
IF (rec.col_null_ok) THEN
DBMS_OUTPUT.PUT_LINE('true');
ELSE
DBMS_OUTPUT.PUT_LINE('false');
END IF;
END;
BEGIN
c := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(c, 'SELECT * FROM scott.bonus', DBMS_SQL.NATIVE);
d := DBMS_SQL.EXECUTE(c);
DBMS_SQL.DESCRIBE_COLUMNS(c, col_cnt, rec_tab);
/*
* Following loop could simply be for j in 1..col_cnt loop.
* Here we are simply illustrating some of the PL/SQL table
* features.
*/
col_num := rec_tab.first;
IF (col_num IS NOT NULL) THEN
LOOP
print_rec(rec_tab(col_num));
col_num := rec_tab.next(col_num);
EXIT WHEN (col_num IS NULL);
END LOOP;
END IF;
DBMS_SQL.CLOSE_CURSOR(c);
END;
/
+0
実際、クエリで暗黙の型変換ルールを確認したかっただけです。しかし、このアプローチは、私のデータベース設計(そして最終的にはデータベース)が成熟するにつれて、おそらく有用であろう。 – Steven
関連する問題
- 1. テキストファイル用のOracle Data Type?
- 2. Lucene Stored Data Type
- 3. @Field type in spring-data-couchbase2.1.1Release
- 4. Oracle Data Access FileNotFound:Oracle.DataAccess.Common.Configuration.Section.xsd
- 5. Oracle expdp without data
- 6. sql oracle query data export
- 7. Oracle Data IntegratorとodiRef.getSession
- 8. php string end identify
- 9. spring data spaとoracleパッケージ
- 10. 設定列DATA TYPE(PHPからMySQLへ)
- 11. Azure Face API identify - 不正なリクエスト400
- 12. Oracle Data Miner - Oracle Rエンタープライズ・インタフェースの簡素化
- 13. Oracle TYPE 2 JDBCテーブル作成エラー
- 14. Oracle CREATE TYPEおよびPL/SQL
- 15. TomcatでのOracle REST Data Services(ORDS)のインストール
- 16. ORA-00439:Oracle Transparent Data Encryption XE 11.2.0
- 17. Entity Framework 6無料のOracle Data Provider
- 18. Spring Data JPA Oracle関数呼び出し
- 19. Oracle Data Integratorとは何ですか?
- 20. Oracle JetのojInputNumberコンポーネントはtype = "text"を与えます
- 21. data-calc-typeとはどういう意味ですか?
- 22. Core Data type Transformableを使用しない*場合*
- 23. Angular4 Typescript;プロパティ 'data'がtype 'any []'に存在しません
- 24. エクスプレスポストメソッドはContent-Typeで動作しません:multipart/form-data
- 25. bind(type、[data]、fn)と非インライン関数を使用する
- 26. Oracle Managed Data Access用のWeb構成の設定
- 27. Pivotal TCサーバーでOracle Data source JNDIを構成する方法は?
- 28. JDBCからOracle ADT/User Typeメタデータを取得する
- 29. FootableはCodeIgniterとJSONを使用してdata-type = "number"でソートされません
- 30. identify()メソッドはCakePHP 3でパスワードをハッシュしませんか?
そして...私は当時から情報を読み取り、一時テーブルへのクエリの結果をダンプするPL/SQLプログラムを書いて考えますUSER_TABLE_COLUMNS。 – GameFreak