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);
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
一、基础
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、说 ......
1. 查看 SQL 2005 用户所属数据库角色
use yourdb
go
select DbRole = g.name, MemberName = u.name, MemberSID = u.sid
from sys.database_principals u, sys.database_principals g, sys.database_role_members m
where g.principal_id = m.role_principal_id
and u.principal_id = m.member_principal_id
......
前言:
sql_trace 是我在工作中经常要用到的调优工具,相比较statspack 我更愿意用这个工具。
因为数据库慢原因的85%以上是由于sql问题造成的,statspack没有sql的执行计划。显示没有它直观,方便,对想要针对性不强,
1,介绍数据库调优需要经常会用到的工具 ......
SQL中DATEADD和DATEDIFF的用法
2009-12-10 22:16
固定日期减一个月(日、年)
dateadd(表达式1,表达式2,表达式3)
表达式1为MM或YY或DD
表达式2为1
表达式3为要减的日期
一个月的第一天
第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF ......