scott 用户解锁
拿system登录进去之后,执行下面的命令:
SQL> alter user scott account unlock;
PL/SQL声明格式:
DECLARE
--声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数
BEGIN
-- 执行部分: 过程及SQL 语句 , 即程序的主要部分
EXCEPTION
-- 执行异常部分: 错误处理
END;
1:修改一条记录并显示
DECLARE
Row_id ROWID;
info VARCHAR2(40);
BEGIN
INSERT INTO t_sp
VALUES
(92, '财务室', 1)
returning cityname,cityid INTO row_id, info;
DBMS_OUTPUT.PUT_LINE(row_id);
DBMS_OUTPUT.PUT_LINE(info);
END;
解释:
RETURNING子句用于检索INSERT语句中所影响的数据行数,当INSERT语句使用VALUES 子句插入数据时,RETURNING 字句还可将列表达式、ROWID和REF值返回到输出变量中。在使用RETURNING 子句是应注意以下几点限制:
1.不能与DML语句和远程对象一起使用;
2.不能检索LONG 类型信息;
3.当通过视图向基表中插入数据时,只能与单基表视图一起使用。
2. 删除一条记录并显示
declare
flg_sp varchar2(40);
begin
delete from t_sp s where s.cityid='1'
returning cityid into flg_sp;
dbms_output.put_line('删除的ID:'||flg_sp);
end;
变量复合类型:
看例子吧:
DECLARE
TYPE record_sp IS RECORD(
f_name t_sp.cityname%TYPE,
j_id t_sp.cityid%TYPE);
v_sp record_sp;
BEGIN
select cityname, cityid INTO v_sp FROM t_sp WHERE cityid = '1';
DBMS_OUTPUT.PUT_LINE('名称:' || v_sp.f_name || ' id:' || v_sp.j_id);
END;
记录类型 ;t_sp 是表 cityid是t_sp里面字段;select into是给变量赋值
还有使用%TYPE类型 %rowtype类型。