我对 SQL 完全陌生,正在尝试执行一个我什至不确定我是否正确编写的存储过程。它应该给出给定医生的患者总数,这是我在 Oracle SQL Developer 中设法编译的存储过程:
CREATE PROCEDURE Totalptcount
(drid IN INTEGER,
totalpts OUT INTEGER)
IS
BEGIN
SELECT COUNT(pts) AS totalpts
INTO totalpts
FROM ptlist
WHERE drid = '1';
END Totalptcount;
我正在尝试输入值“1”并获取 ID 为“1”的 dr 的总 pt 计数(行数)。
我该如何执行这个?提前非常感谢
尝试了我在这里找到的一些类似问题的答案,但没有一个有效。我也不知道如何使用游标或声明,但我认为我的存储过程不需要它们(我认为)。我试过了:
var totalpts NUMBER
EXEC totalptcount (:totalpts);
SELECT totalpts;
- This gave the INTO clause requirement error
BEGIN
Exec totalptcount
END;
- I don't really know what I'm doing and just tried this
BEGIN
Exec totalptcount('1')
END;
- Trying to input value '1' to get out the count
- Unknown command error
提前谢谢您!
After your compile it, go into the connections window.
Open the schema.
One of the entries should be for procedures.
Open your procedure and you should see a tool which is a green triangle.
Click that and it will open a dialog that can be used torun your procedure.
您可能会在 https://www.thatjeffsmith.com/ 上找到一些阅读材料,可能有助于缩短您的学习曲线。
我建议您将 drid 参数重命名为 input_drid,并使用它来替换查询中的硬编码“1”。 这样你就可以选择任何你想要的博士 ID。