DECLARE
v_empname VARCHAR2(20);
v_deptname VARCHAR2(20);
v_hiredate DATE NOT NULL := SYSDATE;
v_empno INT NOT NULL DEFAULT 7639;
BEGIN
NULL;
END;
DECLARE
v_counter INTEGER;
BEGIN
v_counter := 90;
v_counter := v_counter+1;
DBMS_OUTPUT.put_line(\'未赋值的变脸示例结果:\'||v_counter);
END;
DECLARE
v_salary NUMBER(7,2);
v_rate NUMBER(7,2) := 0.12;
v_base_salary NUMBER(7,2) := 1200;
BEGIN
v_salary := v_base_salary*(1+v_rate);
DBMS_OUTPUT.put_line(\'员工的薪资为:\'||v_salary);
END;
DECLARE
v_string VARCHAR2(200);
v_hire_date DATE;
v_bool BOOLEAN;
BEGIN
v_bool := TRUE;
v_hire_date := to_date(\'2018-12-23\',\'yyyy-mm-dd\');
v_hire_date := SYSDATE;
v_hire_date := date\'2018-12-23\';
v_string := \'This is a string\';
END;
DECLARE
v_empno emp.empno%TYPE;
v_ename emp.ename%TYPE;
v_hiredate emp.hiredate%TYPE;
BEGIN
SELECT empno, ename, hiredate INTO v_empno, v_ename, v_hiredate FROM emp WHERE empno = &empno;
DBMS_OUTPUT.put_line(\'员工编号为:\'||v_empno);
DBMS_OUTPUT.put_line(\'员工名称为:\'||v_ename);
DBMS_OUTPUT.put_line(\'雇佣日期为:\'||v_hiredate);
END;
DECLARE
v_empno emp.empno%TYPE;
v_empno2 v_empno%TYPE;
v_salary NUMBER(7,3) NOT NULL := 1350.5;
v_othersalary v_salary%TYPE := 1500;
BEGIN
NULL;
END;
DECLARE
v_emp emp%ROWTYPE;
BEGIN
SELECT * INTO v_emp FROM emp WHERE empno = &empno;
DBMS_OUTPUT.put_line(v_emp.empno || CHR(10) || v_emp.ename);
END;
DECLARE
v_emp emp%ROWTYPE;
BEGIN
v_emp.empno := 8001;
v_emp.ename := \'张三丰\';
v_emp.job := \'掌门\';
v_emp.mgr := 7902;
v_emp.hiredate := date\'2018-12-23\';
v_emp.sal := 8000;
v_emp.deptno := 20;
INSERT INTO emp VALUES v_emp;
COMMIT;
END;
DECLARE
CURSOR emp_cursor IS SELECT empno, ename, job, sal, hiredate FROM emp;
v_emp emp_cursor%ROWTYPE;
BEGIN
OPEN emp_cursor;
LOOP
FETCH emp_cursor INTO v_emp;
EXIT WHEN emp_cursor%NOTFOUND;
DBMS_OUTPUT.put_line( v_emp.empno
|| \'\'
|| v_emp.ename
|| \'\'
|| v_emp.job
|| \'\'
|| v_emp.sal
|| \'\'
|| TO_CHAR(v_emp.hiredate, \'YYYY-MM-DD\'));
END LOOP;
CLOSE emp_cursor;
END;
DECLARE
c_salary_rate CONSTANT NUMBER(7,2) := 0.25;
v_salary NUMBER(7,2);
BEGIN
SELECT sal * (1+c_salary_rate) INTO v_salary FROM emp WHERE empno = &empno;
DBMS_OUTPUT.put_line(\'加薪后的薪资为:\'|| v_salary);
END;
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。



