有奖活动:PL/SQL Challenge 每日一题:2012-9-24 自定义子类型(SUBTYPE)

[复制链接]
查看11 | 回复5 | 2008-9-15 01:28:12 | 显示全部楼层 |阅读模式
最快答对且答案未经编辑的puber将获得奥运章一枚(编辑过的答案不算),其他会员如果提供有价值的分析、讨论也可获得奥运章一枚。
以往旧题索引:
http://www.itpub.net/thread-1499223-1-1.html
原始出处:
http://www.plsqlchallenge.com/
作者:Steven Feuerstein
难度:低
注:本题给出答案时候要求给予简要说明才能得到奖品
哪些选项创建了一个名为 "PLCH_PKG" 的包,使得下列代码块执行之后会显示"Too big" ?
DECLARE
l_number plch_pkg.max_number_t;
BEGIN
l_number := 1000;
DBMS_OUTPUT.put_line ('Fits just fine');
EXCEPTION
WHEN VALUE_ERROR
THEN
DBMS_OUTPUT.put_line ('Too big');
END;
/
(A)
CREATE OR REPLACE PACKAGE plch_pkg
IS
SUBTYPE max_number_t IS NUMBER (3);
END;
/
(B)
CREATE OR REPLACE PACKAGE plch_pkg
IS
TYPE max_number_t IS NUMBER (3);
END;
/
(C)
CREATE OR REPLACE PACKAGE plch_pkg
IS
TYPE max_number_t IS SUBTYPE OF NUMBER (3);
END;
/
(D)
CREATE OR REPLACE PACKAGE plch_pkg
IS
g_number NUMBER (3);
SUBTYPE max_number_t IS g_number%TYPE;
END;
/
(E)
CREATE TABLE plch_number_tab (max_number NUMBER (3))
/
CREATE OR REPLACE PACKAGE plch_pkg
IS
SUBTYPE max_number_t IS plch_number_tab.max_number%TYPE;
END;
/

回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
A,D,E

回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
答案: ADE
B,C 语法错误
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
A,D,E
B\C语法错误,包编译时报错。
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
SUBTYPE语法:
SUBTYPEIS [(constraint)] [NOT NULL];
Base type can be a predefined data type or subtype or %TYPE or %ROWTYPE variable or PL/SQL table type.
基础类型可以是预先定义好的数据类型或子类型或%TYPE或可用的%ROWTYPE或PL/SQL 表类型。
ADE分别对应于上述描述。
回复

使用道具 举报

千问 | 2008-9-15 01:28:12 | 显示全部楼层
答案ADE, 3楼指出BC有语法错误,5楼给出了正确写法的文档描述,故奖品授予3楼和5楼。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行