PL/SQL 包在变量中自动插入计数数字
PL/SQL Packages inserting count Number autmomatically in variable
练习是:
在名为 v_Guest_Count 的包中创建一个 public 变量
这是自动初始化的数量
嘉宾中的嘉宾table。使用以下 SQL:
SELECT 计数(*)
来自客人;
我这样试过,但行不通:
create or replace PACKAGE BODY BEACHCOMBER IS
v_guest_count NUMBER;
BEGIN
SELECT COUNT (*) FROM A2_GUESTS
INTO v_guest_count;
END BEACHCOMBER;
谢谢
编辑:这是测试代码:
PROMPT
PROMPT TESTING: Initialisation of the v_Guest_Count variable. Expect 81.
BEGIN
DBMS_OUTPUT.PUT_LINE('v_Guest_Count has been initialised to: '||TO_CHAR(BEACHCOMBER.v_Guest_Count));
END;
你的 PL/SQL 有很多问题。我修改了下面的代码。
如果您想要 return 查询的标量结果,您需要在过程中使用 OUT 参数,或者创建一个函数来 return 该值。
"select into" 的语法错误。
您无法访问 function/procedure.
之外的局部范围变量 (v_guest_count) 的值
create or replace FUNCTION BEACHCOMBER_COUNT
RETURN NUMBER
IS
v_guest_count NUMBER;
BEGIN
SELECT COUNT (*) INTO v_guest_count
FROM dual; -- A2_GUESTS;
RETURN v_guest_count;
END;
PROMPT PROMPT TESTING: Initialisation of the v_Guest_Count variable. Expect 81.
BEGIN
DBMS_OUTPUT.PUT_LINE('v_Guest_Count has been initialised to: '||TO_CHAR(BEACHCOMBER_COUNT()));
END;
/
我建议买一本好 pl/sql 书。
练习是:
在名为 v_Guest_Count 的包中创建一个 public 变量 这是自动初始化的数量 嘉宾中的嘉宾table。使用以下 SQL: SELECT 计数(*) 来自客人;
我这样试过,但行不通:
create or replace PACKAGE BODY BEACHCOMBER IS
v_guest_count NUMBER;
BEGIN
SELECT COUNT (*) FROM A2_GUESTS
INTO v_guest_count;
END BEACHCOMBER;
谢谢
编辑:这是测试代码:
PROMPT
PROMPT TESTING: Initialisation of the v_Guest_Count variable. Expect 81.
BEGIN
DBMS_OUTPUT.PUT_LINE('v_Guest_Count has been initialised to: '||TO_CHAR(BEACHCOMBER.v_Guest_Count));
END;
你的 PL/SQL 有很多问题。我修改了下面的代码。
如果您想要 return 查询的标量结果,您需要在过程中使用 OUT 参数,或者创建一个函数来 return 该值。
"select into" 的语法错误。
您无法访问 function/procedure.
之外的局部范围变量 (v_guest_count) 的值
create or replace FUNCTION BEACHCOMBER_COUNT
RETURN NUMBER
IS
v_guest_count NUMBER;
BEGIN
SELECT COUNT (*) INTO v_guest_count
FROM dual; -- A2_GUESTS;
RETURN v_guest_count;
END;
PROMPT PROMPT TESTING: Initialisation of the v_Guest_Count variable. Expect 81.
BEGIN
DBMS_OUTPUT.PUT_LINE('v_Guest_Count has been initialised to: '||TO_CHAR(BEACHCOMBER_COUNT()));
END;
/
我建议买一本好 pl/sql 书。