简单介绍pl/sql demo:
1.查询出empno=7369 的员工信息
DECLARE
V_SAL VARCHAR2(20); //此处两种方式
V_NAME EMP.ENAME%TYPE;
v_job emp.ejob%TYPE;
BEGIN
SELECT SAL, ENAME,ejob INTO V_SAL, V_NAME,v_job FROM EMP WHERE EMPNO = '7369';
DBMS_OUTPUT.PUT_LINE(V_SAL || ',' || V_NAME||','||v_job);
END;
2.定义记录类型(变量多时 :相当于类)
DECLARE
--声明一个记录类型
TYPE emp_record IS record(
V_SAL emp.sal%TYPE,
V_NAME EMP.ENAME%TYPE,
v_job emp.ejob%TYPE
);
--如果记录类型变量为select * 则可用下面方式:
v_emp_record emp%ROWTYPE;
--定义一个记录类型的成员变量
v_emp_record emp_record;
BEGIN
SELECT SAL, ENAME,ejob INTO v_emp_record FROM EMP WHERE EMPNO = '7369';
DBMS_OUTPUT.PUT_LINE(v_emp_record.V_SAL || ',' ||v_emp_record.V_NAME||','||v_emp_record.v_job);
--dbms_output.put_line(v_emp_record.ename||'的工资:'||v_emp_record.sal); //为emp对应的字段名称
END;
3.1 判断语句 if
--查询empno='7369'的工资,如果工资>= 1000 则打印‘sal>1000’;
--若在800到1000之间,则打印‘800<=sal<=1000’否则打印‘sal<800’
DECLARE
v_sal emp.sal%TYPE;
--也可赋值
v_temp Varchar2(10);
BEGIN
SELECT sal INTO v_sal FROM emp WHERE empno='7369';
IF v_sal >=1000 THEN dbms_output.put_line('sal>=1000');
ELSIF v_sal>=800 THEN dbms_output.put_line('sal>=800');
ELSE dbms_output.put_line('sal<800');
END IF;
IF v_sal >=1000 THEN v_temp:='sal>=1000';
ELSIF v_sal>=800 THEN v_temp:='sal>=800';
ELSE v_temp:='sal<800';
END IF;
dbms_output.put_line('sal:'||v_sal||v_temp);
END;
3.2判断语句 case (md太麻烦了)