Oracle存储过程
Oracle存储过程功能强大,他主要的作用有以下几点:
1.可以批量执行sql语句,提供内置的事务支持,同时能够提高数据库操作的效率。
2.客户端程序依据存储过程名来调用,提供程序的可移植性。
3.提供复杂的SQL语句逻辑支持。
语法结构包括过程声明,执行过程部分,存储过程异常
1)不带参数:
Create or replace procedure NoparProcedureName
is
begin
delete from tablename a where a.id='';
delete from tablename b where b.id='';
exception
end;
2)带参数:
Create or replace procedure ParProcedureName(key_id in char)
is
begin
delete from tablename a where a.id=key_id;
update tablename b set b.name='测试' where b.id=key_id;
exception
end;
3)带参数含赋值
Create or replace procedure MyProcedureName(key_id in char,isal out varchar)
is icount number ;
begin
select count(*) into icount from emp where sal>isal ;
if icount==1 then ...
esle
...
end if ;
end
相关文档:
1. 引言
2. 触发器的概念和类型
触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。数据库触发器有以下的作用:
* 安全性。可以基于数据库的值 ......
通过oracle 11g 连接mssql 2005 报下面的错误
select * from maintanance@mssql
*
第 1 行出现错误:
ORA-28545: 连接代理时 Net8 诊断到错误
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: 紧接着 2 lines (起自 MSSQL)
oracle 11g listener.ora配置如下:
# listener.ora Network Configurati ......
问:什么是NULL?
答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、等价于没有任何值、是未知数。
2 ......
1.oracle字符集问题:
数据库字符集为ZHS16BGK,汉字在数据库存放的时候占用两个字节
数据库字符集为UTF8,汉字在数据库里存放的时候占用三个字节
由于字符集不同,导致现在数据库IMP的时候有些表的字段长度不够,出现ORA-12899: value too large for column的错误。
通过修改字符集可以解决这种问题。
2.utf-8和unico ......