PL/SQL例子
以下是经测验能正确运行的:
create table t_emp_log212
(
who varchar2(10) not null,
action varchar2(10) not null,
actime date
);
create or replace trigger tri_emp_insert
before insert
on t_emp
begin
insert into t_emp_log(who,action,actime)values(user,'insert',sysdate);
end;
-------------------------------------------------------------------------------------------
set serveroutput on
declare
v_empno emp.empno%type:=&empno;
v_ename emp.ename%type;
begin
select empno, ename into v_empno,v_ename from emp where empno=v_empno;
dbms_output.put_line(v_ename);
exception
when others then
dbms_output.put_line(' your empno is null,ename is null');
end;
-------------------------------------------------------------------------------------------
SET SERVEROUTPUT ON
declare
type tabletype1 is table of varchar2(10) index by binary_integer;
type tabletype2 is table of varchar2(10) index by binary_integer;
table1 tabletype1;
table2 tabletype2;
begin
table1(1):='大学';
table1(2):='大专';
table2(1):=88;
table2(2):=55;
dbms_output.put_line(table1(1)||table2(1));
dbms_output.put_line(table1(2)||table2(2));
end;
-------------------------------------------------------------------------------------------
set serveroutput on;
declare
v_grade char(10):=upper('&p_grade');/*upper将字符串全变大写 必须加引号 因为赋值以后显示为upper('A')而upper(A)A作为常量了*/
v_result varchar2(20);
begin
v_result:=
case v_grade
when 'A' then '90 分以上'
when 'B' then '80分到90分之间'
when 'C' then '60分到80分之间'
else '不及格'
end;
dbms_output.put_line('grade'||v_grade||'result'||v_result);
end;
-------------------------------------------------------------------------------------------
set serverout on
declare
v_item number(3):=1;
begin
loop
dbms_output.put_line(v_item);
相关文档:
一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说 ......
改善SQL语句
很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:
select * from table1 where name=''zhangsan'' and tID > 10000
和执行:
select * from table1 where tID > 10000 and name=''zhangsan''
一些人不知道以上两条语句的执行效率是否一 ......
SQL中DATEADD和DATEDIFF的用法
2009-12-10 22:16
固定日期减一个月(日、年)
dateadd(表达式1,表达式2,表达式3)
表达式1为MM或YY或DD
表达式2为1
表达式3为要减的日期
一个月的第一天
第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF ......
在JAVA中的SQL 语句的编写方面,没有使用ORACLE 绑定变量,很大程度上降低了数据库的性能,表现在两个方面:
1、SQL语句硬分析(Hard Parse)太多,严重消耗CPU资源,延长了SQL语句总的执行时间
SQL语句的执行过程分几个步骤:语法检查、分析、执行、返回结果。其中分析又分为硬分析(Hard Parse)和软分析(Soft Pars ......