暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBASE分享,用户定义的例程和扩展数据类型

郑小雯 2023-06-13
186

用户定义的例程和扩展数据类型

superstores_demo 数据库使用用户定义的例程 (UDR) 和扩展数据类型。 UDR 是由您定义的例程,可在 SQL 语句或其他 UDR 中进行调用。UDR 可返回值, 也可不返回值。

GBase 8s 的数据类型系统是可扩展和灵活的系统,支持创建下列各种数据类型:

• 通过重新定义数据库服务器提供的数据类型的某些行为来扩展现有数据类型。

• 由用户定制的数据类型的定义

如下所示,superstores_demo 数据库在 UDR 中创建单值数据类型 percent:

CREATE DISTINCT TYPE percent AS DECIMAL(5,5); DROP CAST (DECIMAL(5,5) AS percent); CREATE IMPLICIT CAST (DECIMAL(5,5) AS percent);superstores_demo

数据库创建下列命名行类型:

• location 层次结构:

o location_t

o loc_us_t

o loc_non_us_t

• customer 层次结构:

o name_t

o customer_t

o retail_t

o whlsale_t

• orders 表

o ship_t

location_t 定义 

location_id SERIALloc_type CHAR(2) company VARCHAR(20) street_addr LIST(VARCHAR(25) NOT NULL) city VARCHAR(25) country VARCHAR(25)

loc_us_t 定义

state_code CHAR(2) zipROW(code INTEGER, suffix SMALLINT) phone CHAR(18)

loc_non_us_t 定义

province_code CHAR(2) zipcode CHAR(9) phone CHAR(15)

name_t 定义 first VARCHAR(15) last VARCHAR(15)

customer_t 定义

customer_num SERIALcustomer_type CHAR(1) customer_name name_tcustomer_loc INTEGER contact_dates LIST(DATETIME YEAR TO DAY NOT NULL) cust_discount percentcredit_status CHAR(1)

retail_t 定义

credit_num CHAR(19) expiration DATE

whlsale_t 定义

resale_license CHAR(15) terms_net SMALLINT

ship_t 定义

date DATE weight DECIMAL(8,2) charge MONEY(6,2) instruct VARCHAR(40)

表层次结构

下图显示如何关联 superstores_demo 数据库的分层表。两个表之间的外键和主键关 系由从 customer.custnum 和 customer.loc 列指向 location.location_id 列的阴影箭 头指示。

图: superstores_demo 表的层次结构


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论