-
PL/SQL的程序结构查看全部
-
PL/SQL (Procedure Language/SQL)过程语言的SQL; PL/SQL是Oracle对sql语言的过程化扩展; --指在SQL命令语言中增加了过程处理语句(如分支、循环等),使SQL语言具有过程处理能力 PL/SQL是面向过程的语言。 不同数据库的SQL扩展 oracle:PL/SQL db2: SQL/PL sql server: Transac-SQL(T-SQL)查看全部
-
--打开输出开关<br> set serveroutput on<br> / --退出并且执行<br> --打印Hello world<br> declare <br> --说明部分(变量,光标和例外)<br> begin<br> --程序体<br> dbms_output.put_line("Hello world");<br> end; --不要忘记分号<br> / --退出并且执行 备注--查看程序包的结构,以dbms_output为例: desc dbms_output查看全部
-
111查看全部
-
和之前程序效果一样查看全部
-
记录行变量,得到一行的列变量,相当于list,查看全部
-
into 后面的要与前面select得到的语句相对应,即把查找到的值赋值过去查看全部
-
引用变量,这张表上这个列的类型作为类型查看全部
-
说明部分查看全部
-
程序结构查看全部
-
pl/sql入门 /表示输入上一条语句查看全部
-
-------------------------------------------------- --給員工漲工資,總裁1000,經理800,其他400 set serveroutput on declare --定義光標代表給哪些員工漲工資 --alter table "SCOTT"."EMP" rename column "JOB" to empjob cursor cemp is select empno,empjob from emp; pempno emp.empno%type; pjob emp.empjob%type; begin --回退剛才漲的工資(之前沒加commit運行了腳本,避免影響) rollback; --打開光標 open cemp; loop fetch cemp into pempno,pjob; exit when cemp%notfound; --判斷員工的職位 if pjob='PRESIDENT' then update emp set sal=sal+1000 where empno=pempno; elsif pjob='MANAFER' then update emp set sal=sal+800 where empno=pempno; else update emp set sal=sal+400 where empno=pempno; end if; end loop; --關閉光標 close cemp; --對於oracle,默認的事物隔離級別是read committed --事物的ACID(原子性、一致性、隔離性、持久性) commit; dbms_output.put_line('漲工資完成'); end; /查看全部
-
Cursor的第一個實例/例子 --查詢並打印員工的姓名和薪水 /* 光標的屬性: (共有四種, 這裡介紹兩種) 1.%found 2.%notfound */ set serveroutput on declare --定義一個光標 cursor cemp is select ename,sal from emp; --為光標定義對應的變量(引用變量) pename emp.ename%type; psal emp.sal%type; begin --打開光標 open cemp; loop --抓取一條記錄 fetch cemp into pename,psal; exit when cemp%notfound; dbms_output.putline(pename||'的薪水是'||pssal); end loop; --關閉光標 close cemp; end; /查看全部
-
2.loop exit when 条件成立 循环体 end loop;查看全部
-
PL/SQL中的三种循环: 1.while 条件成立 loop 循环体 end loop; 2.loop exit when 条件成立 循环体 end loop; 3.for 循环变量 in 循环变量的可能取值 loop 循环体 end loop;查看全部
举报
0/150
提交
取消