我们确实创建了变量来存储列数据,如下所示
DECLARE @Name VARCHAR(300)
SELECT @Name = Name,
@Age = Age
FROM [Employee]
在这里,我们给出大小VARCHAR(300)
假设表中定义的长度300
。
这发生在商店程序中。
如果表中的大小增加怎么办?(例如 500(。 有没有一种简单的方法来跨存储过程更新大小?或者任何更好的创建变量的方法?
我相信你想要像 ORACLE%TYPE
这样的东西:
Oracle %TYPE 属性在表定义更改时调整代码。%TYPE 属性提供变量或数据库列的数据类型。如果列的类型发生更改,则变量在运行时使用正确的类型。这提供了数据独立性并降低了维护成本。
Microsoft SQL Server 不支持,也没有等效的 Oracle %TYPE。
SQL Server 不支持此机制。可能的解决方案:
- 声明长度超过 300 的变量
- 使用用户定义的数据类型