我必须创建一个PL / SQL块,在一个名为TEN_MULTIPLES的表中插入10到100倍的10,我必须创建...(SCHEMA - > TEN_MULTIPLES(numbervalue))。我将不得不在表格内插入10,20,30,...,100但不包括50和90.到目前为止,我已经完成了这个......这是正确的吗?
DECLARE
CREATE TABLE ten_multiples
(numbervalue NUMBER (3));
BEGIN
FOR i IN 9..101 LOOP
IF (i = 50 OR i = 90) THEN
ELSIF (i%10 = 0) THEN
INSERT INTO ten_multiples
VALUE (i);
END IF;
END LOOP;
END;
当我使用10..100时,包含10和100并在循环中评估为'i'?
我还需要使用游标从该表中找到MAXIMUM数字,所以在这种情况下100,将它存储在DECLARE部分中声明的变量'num'中并将其打印出来......
DECLAR
CURSOR my_cursor IS
SELECT MAX(v_number) FROM ten_multiples;
num NUMBER;
BEGIN
OPEN my_cursor;
FETCH my_cursor INTO (num);
DBMS_OUTPUT.PUT_LINE(‘Maximum number is ‘ | num);
CLOSE my_cursor;
END;
这是对的吗?
我真的非常感谢你:)
答案 0 :(得分:4)
为什么这么多PL / SQL课程包含 如何使用PL / SQL的练习?
insert into ten_multiples
with data as ( select level*10 as mult
from dual
connect by level <=10)
select * from data
where mult not in (50,90)
/
答案 1 :(得分:1)
第一部分:
第二部分:
DECLARE
而不是DECLAR
。 SELECT
成员必须是表格的一列,而不是v_number
。 最后: