oracle学习历程之存储过程
oracle学习历程之存储过程
(1) 存储过程通过参数传递,安全性高,可防止注入式攻击.
(2) 查询的语句在存储过程里,与程序不相关,如果以后要修改程序或者数据库,都不会出现连锁反应,增加系统可扩展性.
(3) 网站执行查询的时候,只需要传递简单的参数就可以了,无论是代码优化上还是查询优化上都可以做到高效.
(4) 允许模块化编程,即,可以将一组查询写在一个过程里面,然后在程序里直接调用,而不必每次都写若干个语句来实现相应功能
【普通方法】
create or replace procedure procetest(paramin in varchar2, paramout out varchar2,paraminout in out varchar2)
as
varsparam varchar2(28);
begin
varsparam:=paramin;
paramout:=varsparam||paraminout;
end;
测试
set serveroutput on
declare
param_out varchar2( 28 );
param_inout varchar2( 28 );
begin
param_inout:='111';
mydata.procetest( 'qqqq',param_out,param_inout );
dbms_output.put_line( param_out );
end;
C#
public string listResult(string xx1, string xx2)
{
OracleParameter[] parameters ={
new OracleParameter( "paramin",OracleType.VarChar,20 ), //输入参数
new OracleParameter( "paramout",OracleType.VarChar,20 ), //输出参数
new OracleParameter( "paraminout",OracleType.VarChar,20 ) //进出匀可
};
parameters[0].Value = xx1;
parameters[2].Value = xx2;
parameters[0].Direction = ParameterDirection.Input;
parameters[1].Direction = ParameterDirection.Output;
&n
相关文档:
Oracle中创建同义词语句:
create synonym table_name for user.table_name;
其中第一个user_table和第二个user_table可以不一样。
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:create synonym tabl ......
Oracle 10g 默认安装带来的用户名/密码
Username
Password
Description
See Also
CTXSYS
CTXSYS
The Oracle Text account
Oracle Text Reference
DBSNMP
DBSNMP
The account used by the Management Agent component of Oracle Enterprise Manager to monitor and manage the database
Oracle Enter ......
Oracle日期函数集锦(二)
二、常用时间函数
1.trunc(sysdate,'Q') 本季度第一天
SQL> select trunc(sysdate,'Q') from dual;
TRUNC(SYSDATE,'Q')
------------------
2007-4-1
2.trunc(sysdate,'D') 本周的第一天(周日)
SQL> select trunc(sysdate,'D')from dual;
TRUNC(SYSDATE,'D')
------------------
2 ......
Oracle日期函数集锦(三)
三、一些实践后的用法:
1.上月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
2.上月今天
SQL> select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
3.上月首天
SQL> select to_char(add_months(last_day(sysdate ......
1.2 管理Jobs
1.2.1 启用Jobs
前面创建JOB时,由于未显式的指定ENABLED参数,因此即使指定了START_DATE,不过默认情况下JOB不会自动执行。对于这种情况,DBMS_SCHEDULER包中提供了一个过程ENABLE,可以用来修改JOB的启用状态,调用方式非常简单,例如:
SQL> exec dbms_scheduler.enable(& ......