有没有办法使用表中的列定义来定义存储过程中的变量?例如,在表Employees 中有一个名为LastName 的列。在 INFORMATION_SCHEMA.COLUMNS 中,您可以获得 DATA_TYPE ('nvarchar') 和 CHARACTER_MAXIMUM_LENGTH (50)。我想知道是否可以使用这两个描述符在存储过程中创建一个变量。我看到有人在 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) )。
让我知道是否需要进一步澄清。
蒂亚!!