テーブルで列の定義を使用して 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) も使用したくありません)。
さらに説明が必要な場合はお知らせください。
ティア!!