楼主: newkid

[每日一题] PL/SQL CHALLENGE 每日一题

[复制链接]
论坛徽章:
519
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
141#
 楼主| 发表于 2011-11-16 23:16 | 只看该作者
2011-11-14 答案 E.
为什么有人选A? PACKAGE还能带参数?
===========================================
2011-11-15 过程与函数
作者:Steven Feuerstein
难度:低

下列关于函数和过程的差异的陈述,哪些是正确的?

(A)
只有函数才能够执行RETURN语句。

(B)
只有函数才能从SQL里面被调用。


(C)
只有过程能够带有 OUT 或者 IN OUT 参数。

(D)
只有过程才能够定义为自治事务。

(E)
只有过程才能从触发器里面被调用。

(F)
只有函数能够被当作表达式的一部分。


(G)
函数只能调用其他函数。过程可以调用函数或过程。

使用道具 举报

回复
论坛徽章:
27
ITPUB官方微博粉丝徽章
日期:2011-08-17 10:35:36托尼托尼·乔巴
日期:2017-10-25 16:45:57秀才
日期:2017-04-05 13:18:06秀才
日期:2017-03-02 10:35:322016猴年福章
日期:2016-02-23 09:58:342016猴年福章
日期:2016-02-18 09:31:302015年新春福章
日期:2015-03-06 11:57:312014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:07:31
142#
发表于 2011-11-17 08:27 | 只看该作者
BF

使用道具 举报

回复
论坛徽章:
10000
绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2015-12-16 18:42:35绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-09-10 13:05:08
143#
发表于 2011-11-17 08:32 | 只看该作者
(A)
你可以为PACKAGE定义参数, 然后在PACKAGE初始化的时候使用。

看成定义变量了

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
144#
发表于 2011-11-17 08:53 | 只看该作者
newkid 发表于 2011-11-16 23:16
2011-11-14 答案 E.
为什么有人选A? PACKAGE还能带参数?
===========================================
...

因为OO选了A

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
145#
发表于 2011-11-17 09:04 | 只看该作者
2011-11-15 过程与函数
BF

使用道具 举报

回复
论坛徽章:
10000
绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2015-12-16 18:42:35绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-09-10 13:05:08
146#
发表于 2011-11-17 09:16 | 只看该作者
solomon_007 发表于 2011-11-17 08:53
因为OO选了A

哈,那应该不是的吧

使用道具 举报

回复
论坛徽章:
10000
绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2015-12-16 18:42:35绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-09-10 13:05:08
147#
发表于 2011-11-17 09:17 | 只看该作者
2011-11-15 过程与函数
==================
B

使用道具 举报

回复
论坛徽章:
13
2010广州亚运会纪念徽章:轮滑
日期:2010-09-03 12:44:53马上有房
日期:2014-04-04 13:51:34马上加薪
日期:2014-04-04 13:35:40优秀写手
日期:2014-03-14 06:00:13夏利
日期:2013-08-05 18:32:18复活蛋
日期:2013-06-25 17:22:592013年新春福章
日期:2013-02-25 14:51:24蛋疼蛋
日期:2013-01-08 18:08:502011新春纪念徽章
日期:2011-02-18 11:43:33生肖徽章2007版:兔
日期:2011-01-20 12:58:49
148#
发表于 2011-11-17 16:45 | 只看该作者
abf

使用道具 举报

回复
论坛徽章:
519
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
149#
 楼主| 发表于 2011-11-17 23:27 | 只看该作者
2011-11-15 答案BF.
要注意的是C, 尽管函数可以带输出参数,但是这种用法是毫无意义的,也会令人困惑。

===================================================
2011-11-16 %ROWTYPE的声明与使用
作者:Steven Feuerstein
难度:中

我连接到HR用户并运行了如下语句:
CREATE TABLE plch_parts
(
   partnum    NUMBER
, partname   VARCHAR2 (50)
)
/

BEGIN
   INSERT INTO plch_parts
        VALUES (1, 'Chassis');

   COMMIT;
END;
/

CREATE OR REPLACE PACKAGE plch_pkg
IS
   TYPE parts_t IS TABLE OF plch_parts%ROWTYPE
                      INDEX BY PLS_INTEGER;

   PROCEDURE plch_show_parts (parts_in IN parts_t);
END;
/

CREATE OR REPLACE PACKAGE BODY plch_pkg
IS
   PROCEDURE plch_show_parts (parts_in IN parts_t)
   IS
   BEGIN
      FOR indx IN 1 .. parts_in.COUNT
      LOOP
         DBMS_OUTPUT.put_line (parts_in (indx).partname);
      END LOOP;
   END;
END;
/

GRANT SELECT ON plch_parts TO scott
/

GRANT EXECUTE ON plch_pkg TO scott
/

然后我又用SCOTT用户连接并创建了这张表:
CREATE TABLE plch_parts
(
   partnum    NUMBER
, partname   VARCHAR2 (50)
)
/

BEGIN
   INSERT INTO plch_parts
        VALUES (100, 'Wheel');

   COMMIT;
END;
/

下列的哪些选项包含了下列语句块的一个声明部分,从而使得这个块执行之后"Wheel"会被显示出来?

BEGIN
   SELECT *
     BULK COLLECT INTO l_parts
     FROM plch_parts;

   hr.plch_pkg.plch_show_parts (l_parts);
END;

(A)
DECLARE
   TYPE parts_t IS TABLE OF plch_parts%ROWTYPE
                      INDEX BY PLS_INTEGER;

   l_parts   parts_t;
   
(B)
DECLARE
   TYPE parts_t IS TABLE OF hr.plch_parts%ROWTYPE
                      INDEX BY PLS_INTEGER;

   l_parts   parts_t;
   
(C)
DECLARE
   l_parts   hr.plch_pkg.parts_t;
   
(D)
DECLARE
   SUBTYPE parts_t IS hr.plch_pkg.parts_t;
   l_parts   parts_t;


使用道具 举报

回复
论坛徽章:
10000
绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2015-12-16 18:42:35绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-09-10 13:05:08
150#
发表于 2011-11-18 08:44 | 只看该作者
AB

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表