嗨我知道在PL / SQL中可以使用%TYPE引用列类型,但我想知道T-SQL中是否有相同的东西。
PROCEDURE ....
CREATE TABLE TABLE_B
(
ID NUMBER NOT NULL,
NAME TABLE_A.NAME%TYPE
);
... END PROCEDURE
这可能吗?
答案 0 :(得分:1)
简答回答:
我是验证的忠实粉丝所以这里有3个来源,所有人都说基本相同的东西:不,但它可以模拟(虽然很痛苦),它为设计和维护增加了一层复杂性。
参考文献:
用户定义类型的示例:
Oracle的%TYPE数据类型允许您创建变量并使该变量的数据类型由表或视图列或PL / SQL包变量定义。
在T-SQL中没有Oracle的%TYPE数据类型的等价物,但可以使用用户定义的数据类型(UDT)模拟(尽管不是很方便)。这是一个例子:
EXEC sp_addtype 'MyType', 'smallint', NULL
CREATE TABLE MyTable (i MyType)
CREATE PROC MyProc
AS
BEGIN
DECLARE @i MyType
END