编辑手记:周四我们又见面啦!newkid说,世界上只有两种编程方法:Oracle的方法和错误的方法。他本人对SQL的研究极为深入,这种深入,让他真正掌握了SQL的乐趣,通过各种各样的尝试,给我们展现了一个妙趣横生的SQL世界。感谢newkid授权,今天我们来看一个跟动态SQL有关的例子。 下列语句执行之后屏幕上会显示什么? CREATE TABLE plch_ids (id NUMBER) / BEGIN INSERT INTO plch_ids (id) VALUES (1); INSERT INTO plch_ids (id) VALUES (2); ROLLBACK; END; /
DECLARE l_count INTEGER; BEGIN SELECT COUNT (*) INTO l_count FROM plch_ids; DBMS_OUTPUT.put_line (l_count); END; /
BEGIN INSERT INTO plch_ids (id) VALUES (3); INSERT INTO plch_ids (id) VALUES (4);
EXECUTE IMMEDIATE 'ALTER TABLE plch_ids ADD emp_name VARCHAR2(10)'; ROLLBACK; END; /
DECLARE l_count INTEGER; BEGIN SELECT COUNT (*) INTO l_count FROM plch_ids; DBMS_OUTPUT.put_line (l_count); END; /
(A) 2、2
(B) 2、0
(C) 0、0
(D) 0、2 知其然并要知其所以然,欢迎大家积极思考互动,或直接在大讲堂群参与讨论。 答案将在明日晨读公布
|