0

在我们大学的数据库课程中,我们的参考书是 Elmasri 的数据库系统基础。在本书的第 12 章中,我们了解了面向对象的数据库系统,其中用户定义类型 (UDT) 被视为对象。

我想在 Microsoft SQL Server 2017 中创建这些 UDT,但是似乎没有与本章示例中的关键字对应的语法,例如 INSTANTIABLE、FINAL、REF。

我尝试过使用该语法CREATE TYPE <type-name> AS ( <definition> ),但它似乎不起作用。但是,该语法CREATE TYPE <type-name> AS TABLE ( <definition> )在 SQL Server Management Studio 中有效,但我仍然找不到上述关键字的等效项。

下面的代码(或伪代码)是书中提供的示例之一,我无法在 SQL Server Management Studio 中实现

CREATE TYPE PERSON_TYPE AS (
NAME VARCHAR (35),
SEX CHAR,
BIRTH_DATE DATE,
PHONES USA_PHONE_TYPE ARRAY [4],
ADDR USA_ADDR_TYPE
INSTANTIABLE
NOT FINAL
REF IS SYSTEM GENERATED
INSTANCE METHOD AGE() RETURNS INTEGER;
CREATE INSTANCE METHOD AGE() RETURNS INTEGER
FOR PERSON_TYPE
BEGIN
RETURN /* CODE TO CALCULATE A PERSON’S AGE FROM
TODAY’S DATE AND SELF.BIRTH_DATE */
END;
);
4

0 回答 0