--该为存储过程
CREATE OR REPLACE PROCEDURE addUser(
p_id Users.Id%type,
p_name users.uname%type,
p_pwd users.pwd%type
)AS
BEGIN
insert into Users(id,uname,pwd) values(p_id,p_name,p_pwd);
commit;
END addUser;执行语句
EXEC addUser('0002','zhangsan','zhang01');补充:在数据库中表存在,用insert可以插入值,用执行语句就会报无效的sql语句
这是为什么呢?请高手帮忙指导一下。2.oracle中的dbms_outln.put_line(V_NAME);为什么不能用?
CREATE OR REPLACE PROCEDURE addUser(
p_id Users.Id%type,
p_name users.uname%type,
p_pwd users.pwd%type
)AS
BEGIN
insert into Users(id,uname,pwd) values(p_id,p_name,p_pwd);
commit;
END addUser;执行语句
EXEC addUser('0002','zhangsan','zhang01');补充:在数据库中表存在,用insert可以插入值,用执行语句就会报无效的sql语句
这是为什么呢?请高手帮忙指导一下。2.oracle中的dbms_outln.put_line(V_NAME);为什么不能用?
2 p_id Users.Id%type,
3 p_name users.uname%type,
4 p_pwd users.pwd%type
5 )AS
6 BEGIN
7 insert into Users(id,uname,pwd) values(p_id,p_name,p_pwd);
8 commit;
9 END addUser;
10
11
12 /
Procedure created
SQL> exec addUser('01','abc','abc');
PL/SQL procedure successfully completed
SQL> select * from users;
ID UNAME PWD
---------- -------------------- --------------------
01 abc abc没问题啊
楼主set serveroutput on;没?
scott@SZTYORA> CREATE TABLE Users(
2 id VARCHAR2(20),
3 uname VARCHAR2(40),
4 pwd VARCHAR2(40)
5 );表已创建。scott@SZTYORA>
scott@SZTYORA> CREATE OR REPLACE PROCEDURE addUser(
2 p_id Users.Id%type,
3 p_name users.uname%type,
4 p_pwd users.pwd%type
5 )AS
6 BEGIN
7 insert into Users(id,uname,pwd) values(p_id,p_name,p_pwd);
8 commit;
9 END addUser;
10 /过程已创建。scott@SZTYORA> EXEC addUser('0002','zhangsan','zhang01');PL/SQL 过程已成功完成。scott@SZTYORA>
CREATE TABLE Users(
id VARCHAR2(20),
uname VARCHAR2(40),
pwd VARCHAR2(40)
);--该为存储过程
CREATE OR REPLACE PROCEDURE addUser(
p_id Users.Id%type,
p_name users.uname%type,
p_pwd users.pwd%type
)AS
BEGIN
insert into Users(id,uname,pwd) values(p_id,p_name,p_pwd);
commit;
END addUser;
/执行语句
EXEC addUser('0002','zhangsan','zhang01');
exec xxx需要在命令行中使用
什么是set serveroutput on?怎么用的
语法没问题 就看你的插入的记录跟你的表的列的字段类型是否一致
2.oracle中的dbms_outln.put_line(V_NAME);为什么不能用?
在运行前 输入
set serveroutput on --显示输出结果