因为工作需要,特此开始学习PLsql,下面针对有Sql基础的同胞们进行一些简单的学习总结
编写窗口使用TestWindow(不区分大小写)
BEGIN
DBMS_output.put_line(‘hello world’);
END;
/(表示结束)
输出:set serveroutput on(如果不加则没结果)
普通变量
变量赋值的方式:
--姓名
v-name VARCHAR2(20) := ‘张三’
--薪水
v-sal NUMBER;
--地址
v-addr VARCHAR2(200);
BEGIN
--直接赋值
V_sal :=1580;
--语句赋值
SELECT ‘上海传智博客’ INTO v_addr FROM dual;
--打印输出
DBMS_output.put_line(‘姓名’:||v_name||,’薪水’:||v_sal||,’地址’:||v_addr||);
引用型变量
SELECT ename,sal INTO v_name,v_sal WHERE empno = 7839;(普通变量)
引用变量:V_NAME emp.ename%TYPE
V_sal emp.sal%TYPE; (emp即表名 ename即对应字段,%TYPE表该表中该字段的对应类型)
流程控制
语法:
BEGIN
IF 条件1 THEN 执行1
ELSIF 条件2 THEN 执行2
ELSE 执行3
END IF;
END;
例:判断emp表中记录是否超过20条,10~20直接,或者10一下
DECLARE
--声明变量接收emp中的数量
v_count NUMBER;
BEGIN
SELECT count(1) INTO v_count FROM EMP ;
IF v_count>20 THEN
DBMS_OUT.PUT_LINE(‘emp表中的记录数超过了20条为:’||v_count);
ELSIF v_count>=10
END IF;
--打印输出
END;
循环
--打印数字1~10
DECLARE
--声明循环变量
V_NUM NUMBER :=1;
BEGIN
LOOP
EXIT WHEN V_NUM>10;
DBMS_OUTPUT.PUT_LINE(V_NUM);
--循环变量的自增
V_NUM := V_NUM+1;
END LOOP;
END;