我必须创建一个 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”?
我还需要使用游标从该表中找到最大数字,因此在本例中为 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;
这是正确的吗?
我真的提前谢谢你:)