0

SQL スクリプトを実行するためにどのテーブルを結合する必要があるかを把握できるように、すべての DB テーブルのリストを取得しようとしています。

たとえば、TCL で "LIST.DICT" を実行すると、入力として "Name of File:" が返されます。次に「PRODUCT」と入力すると、使用可能なすべてのフィールドのリストが返されます。

ただし、使用可能なすべてのテーブルのリスト、または「ファイル名:」の後に入力できるオプションのリストはどこで取得できますか?

これが私が達成しようとしていることです。以下のスクリーン ショットでは、最新のログ ファイル アクティビティ、日付 - 時間 - 説明を提供する SQL スクリプトを実行したいと考えています。スクリプトが「8/13/14 08:40am BR: 3;BuyPkg」を返すようにしたい

ここに画像の説明を入力

よろしくお願いいたします。

4

2 に答える 2

1

データベース ファイルを含むデータベース アカウント内の TCL から、次のように入力します。

出力例: FILES in your ボキャブラリ 03:21:38pm 29 Jun 2015 ページ 1

ファイル名....................................パス名...................型モジュロ

 File - Contains all logical device names

DICT &デバイス& /u1/uv/D_&デバイス& 2 1 データ &デバイス& /u1/uv/&デバイス& 2 3

 File - Used by MAKE.MAP.FILE

DICT &MAP& /u1/uv/D_&MAP& 2 1 データ &MAP& /u1/uv/&MAP& 6 7

 File - Contains all parts of Distributed Files

DICT &PARTFILES& /u1/uv/D_&PARTFILES& 2 1 データ &PARTFILES& /u1/uv/&PARTFILES& 18 7

DICT &PH& D_&PH& 3 1 データ &PH& &PH& 1

DICT &SAVEDLISTS& D_&SAVEDLISTS& 3 1 DATA &SAVEDLISTS& &SAVEDLISTS& 1

 File - Used by uniVerse to access the current directory.

DICT &UFD& /u1/uv/D_UFD 2 1 データ &UFD& . 19 1

DICT &XML& D_&XML& 18 3 データ &XML& &XML& 19 1

于 2015-06-29T19:22:07.823 に答える
0

まず、UniVerse にはログ ファイル アクティビティの日付と時刻がありません。

ただし、ファイル システムからテーブルの変更日/アクセス日を取得することはできます。これをする、

  1. 日付または時刻を返すには、テーブルのパスを受け入れるサブルーチンが必要です。例えばSUBROUTINE GET.FILE.MOD.DATE(DAT.MOD, S.FILE.PATH)

サブルーチン内では、EXECUTEを使用してistatなどのシェル コマンドを実行し、UNIX でこれらの情報を取得できます。取得した日付を比較し、最新のもののみを返す必要があります。

  1. サブルーチンをグローバルにカタログ化する

  2. VOC で I-Desc を作成します。たとえば、この I-Desc のフィールド定義で I.FILE.MOD.DATE を作成します。SUBR("*GET.FILE.MOD.DATE",F2) and Conv Code as "D/MDY2"

  3. I.FILE.MOD.TIME などの別の I-Desc を作成します。

最後に、次のことができます。

LIST VOC I.FILE.MOD.DATE I.FILE.MOD.TIME DESC WITH TYPE LIKE "F..."

あるいはSQLで、

SELECT I.FILE.MOD.DATE, I.FILE.MOD.TIME, VOC.DESC FROM VOC WHERE TYPE LIKE "F%";
于 2015-11-10T04:36:29.087 に答える