一、正常选择成绩大于60的学生计数
select count(*) from HAND_STUDENT_CORE hsc where core>60;
注意不能写成select count(core>60) from table;
二、写存储过程进行调用
CREATE OR REPLACE PROCEDURE query_stu
(p_id in HAND_STUDENT.STUDENT_NO%type,
p_name out HAND_STUDENT.STUDENT_NAME%type,
p_age out HAND_STUDENT.STUDENT_AGE%type
)is
begin
select STUDENT_NAME,STUDENT_AGE
into p_name,p_age
from HAND_STUDENT
where STUDENT_NO=p_id;
dbms_output.put_line('name id'||p_name);
end query_stu;
/
上面的存储过程中,进行调用我原来都是在sqlplus中直接使用
```sql
execute query_stu('s001');
进行直接调用,而且写的也有问题,参数的个数不对
declare
s varchar2(100);
b varchar2(100);
begin
query_stu(‘s001’,s,b);
end;
以上在navicat中执行调用
三、关于&符号的使用
```sql
declare
msg varchar2(20);
begin
select message into msg
from sample
where id='&id';
dbms_output.put_line(msg);
end;
上面的例子在sqlplus代码行中成功运行,在navicat不成功,不知道是不是软件的问题