3

テーブルで列の定義を使用して sproc で変数を定義する方法はありますか? たとえば、Employees テーブルには、LastName という列があります。INFORMATION_SCHEMA.COLUMNS では、DATA_TYPE ('nvarchar') と CHARACTER_MAXIMUM_LENGTH (50) を取得できます。sproc で変数を作成するために、これら 2 つの記述子を使用できるかどうかを知りたいです。誰かが Oracle で使用した非常によく似た手法を見ました。彼らはテーブルを作成し、定義を使用して変数を宣言しました。

CREATE TABLE TEST_CONSTANTS (
    MAX_LEN VARCHAR2(32)
);


DECLARE x TEST_CONSTANTS.MAX_LEN%TYPE;
BEGIN
    x := 'Test';
    dbms_output.put_line(x);
END;

私はこれに似た何かをしようとしています。そうすれば、テーブルの列が変更された場合、コードを変更する必要がなくなる可能性があります (また、varchar(max) も使用したくありません)。

さらに説明が必要な場合はお知らせください。

ティア!!

4

1 に答える 1