这里给大家分享一些如何在Oracle 中实现类似自动增加 ID 的功能?数据库教程,本文共5篇,供大家参考。

篇1:如何在Oracle 中实现类似自动增加 ID 的功能?数据库教程
oracle
我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在ORACLE 中没有这样的 功能,我们可以通过采取以下的功能实现自动增加ID的功能
1.首先创建 sequence
create sequence seqmax increment by 1
2.使用方法
select seqmax.nextval ID from dual
就得到了一个ID
如果把这个语句放在 触发器中,就可以实现 和 ms sql 的自动增加ID相同的功能!
篇2:如何实现数据的自动录入数据库教程
数据
用户录入数据时经常会遇到大量重复数据,即录入下一条记录的某个字段时,其值与上一条记录同字段的值相同,如何实现数据的自动录入数据库教程
。如果编些程序自动录入相同值会大大提高录入速度。具体实现方法如下:一、程序中主要用到的函数1、FileOpen 功能:以指定的读写模式打开指定的文件,同时返回文件的句柄。2、FileWrite() 功能:从指定文件读取数据。3、FileClose() 功能:关闭先前用FileOpen()函数打开的文件。4、settext() 功能:得到当前行和列之上的编辑框中的值。5、gettext() 功能:替换在DataWindow控件或DataStore对象的当前行列的编辑框控件中的文本。6、send() 功能:向窗口发送指定的消息并立即执行相应的事件处理程序。7、describe() 功能:返回DataWindow对象或Datastore对象中的其它对象的属性值。以上函数在有关Pb的函数书中均可以找到,这里不再详述,但要注意后面两个函数的使用方法。二、具体实现方法1、建立window具体控件名称如图1所示。 2、定义实例变量数组 string is_value[] 和 integer if_File(存放打开文件的句柄)string is_columncount3、在window的Open事件中编写如下代码int iif_File = FileOpen(“Sys.ini”,LineMode!, Read!, LockRead!)is_columncount = dw_input.Describe(“DataWindow.Column.Count”) //取得DataWindow对象的总列数for i = 1 to integer(is_columncount)FileRead(if_File, is_value[i])nextFileClose(if_File)dw_input.Scrolltorow(dw_input.rowcount()) //将光标设置到最后行列dw_input.setcolumn(integer(is_columncount)) 在window 的Close事件中编写如下代码int iif_File = FileOpen(“Sys.ini”,LineMode!, Write!, LockWrite!, Replace!)for i = 1 to integer(is_columncount)FileWrite(if_File, is_value[i])nextFileClose(if_File)4、给Datawindow control自定义一个回车键事件:Event name: ue_keyenter Event ID: pbm_dwnprocessenter 5、在Datawindow control的ue_keyenter事件中写入以下代码is_value[this.getcolumn()] = this.gettext()Send(Handle(this),256,9,Long(0,0))this.settext(is_value[this.getcolumn()])return 1在Datawindow control的constructor事件中写入以下代码this.Settransobject(sqlca)this.retrieve()6、给cb_append自定义一个回车事件Event name: ue_keydown Event ID: pbm_keydown在cb_append的clicked事件中写入以下代码dw_input.Setfocus()dw_input.ScrollToRow(dw_input.InsertRow(0)) //追加一空记录并指向新记录dw_input.SetColumn(1) //指向公寓名列dw_input.Settext(is_value[1])在cb_append的ue_pbm_keydown事件中写入以下代码if keydown(keyenter!) thenthis.Triggerevent(clicked!)end if※ 注意各个控件的tab order的顺序,以上步骤只是简单的实现快速录入,如果遇到具体情况还应该做更详细的编码。篇3:实现Oracle异地数据自动备份方案数据库
相关命令 文中主要用到三个命令,这里先单独介绍一下: export: 将数据库中数据备份成一个二进制系统文件,它有三种模式: 用户模式、表模式、整个数据库模式,还可分为三种备份类型:完全型、积累型、增量型。本文以整个数据库模式下的完全型为例说明。expor
相关命令
文中主要用到三个命令,这里先单独介绍一下:
export: 将数据库中数据备份成一个二进制系统文件,它有三种模式: 用户模式、表模式、整个数据库模式。还可分为三种备份类型:完全型、积累型、增量型。本文以整个数据库模式下的完全型为例说明。export使用格式为:exp userid file。
其中:userid的用法为username/userpassword,即Oracle中的用户名/口令。userid必须为exp的第一个参数,file指备份文件所放位置及名称。
ftp:一般情况下可通过交互方式实现两台主机间的数据传输,即需要手工输入目标主机的IP地址、用户名、口令等。但是当用户使用ftp命令时,系统将会先在该用户的注册目录中寻找.netrc文件,并首先执行该文件。这样,我们可以通过编写一个.netrc的文件来达到自动备份的目的。要注意该文件必须命名为.netrc,且必须存放在启动ftp命令主机上的用户注册目录里。ftp常用选项:
-i:进行多文件传送时关闭交互提示;
-n:在连接之后不进行自动登录。
本文使用“-i”选项,以关闭交互提示。
crontab:cron是一个永久进程,它由/etc/rc.local启动执行。cron检查/var/spool/cron/crontabs/目录中的文件,找到所要执行的任务和执行任务的时间,并自动完成。该目录中文件由crontab命令建立。用户所建立的crontab文件存于/var/spool/cron/crontabs中,其文件名与用户名一致,本文使用crontab的用户为Oracle,所建立的文件名也为Oracle。
cron使用者的权限记载在下列两个文件中: /usr/var/adm/cron/cron.deny和/usr/var/adm/cron/cron.allow。前面的文件中所列的用户不允许使用crontab命令;后一文件中所列的用户允许使用crontab命令。crontab命令的常用格式为:
crontab -l:显示用户的crontab文件的内容;
crontab -r:从crontabs目录中删除用户的crontab文件;
crontab -e:编辑用户的crontab文件。
crontab文件每行中有6个字段,前5个为时间设定段,第6个为所要执行的命令。时间段分别为: minutes、hours、day of month、month、day of week,字段之间用空格或Tab分开。字段如果为“*”,表示该字段在所有可能的取值范围内取值; 如果一个字段是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行。
备份数据库
设定数据库的拥有者为Oracle,用户名为mistest,其口令为test,新建备份目录为/export/home/oracle/backup。建立一个命名为testbackup的备份文件,文件内容如下:
ORACLE-HOME=/export/home/oracle/815;export ORACLE-HOME
ORACLE-SID=ora815;export ORACLE-SID
rm /export/home/oracle/backup/*
rq=丶date +“%m%d”丶
/export/home/oracle/815/bin/exp mistest/test file=/export/home/oracle
/backup/exp$rq.dmp log=/exoport/home/oracle/backup/exp$rq.log
说明:前两句对Oracle数据库初始化,第3条语句清空备份目录,第4条语句建立一个取当前日期的变量,以便在最后一条语句的备份文件名里含有当前日期信息,
testbackup编写完成后,用“chmod +x testbackup”命令授予它可执行权限。
异地传输
在备份主机里建立一个备份目录:/data/oradata/newbackup, 在本地主机Oracle用户的注册目录/export/home/oracle里建立一个.netrc文件。设定好备份主机的IP地址,备份主机上的用户为oraclebk, 口令为testbk2。.netrc文件内容为:
machine x.x.x..x
login oraclebk
password testbk2
macdef init
bin
lcd /export/home/oracle/backup
cd /data/oradata/backup
mput *
bye
说明:前3条语句完成在备份主机上的登录,第4条语句定义一个名为init的宏,第5条语句表示以二进制传输,第6条语句表示进入本地工作目录,第7条语句表示进入备份主机目录,第8条语句完成将本地主机/export/home/oracle/backup目录下的所有文件传输至备份主机/data/oradata/backup目录下,最后一条语句退出ftp会话进程。.netrc文件编写完成后,用命令“chmod 600 .netrc”使该文件只能被该用户所访问。
自动执行
我们以oracle用户登录本地主机,用“crontab -e”编写crontab文件用以启动自动备份进程。oracle文件内容如下:
10 23 * * * /export/home/oracle/testbackup
30 23 * * * ftp -i x.x.x.x
说明:第1条语句指定每天自动在23点10分执行对数据库的备份,第2条语句指定每天自动在23点半启动ftp,将备份文件传输到备份主机(备份主机为符合语句中指定IP地址的主机)。
Oracle文件只能在Oracle用户名下用“crontab -e”命令来编辑。编辑完成后,可以在用“crontab-l”命令来查看crontab文件内容,同时在/var/spool/cron/crontabs目录下查看是否增加了一个Oracle文件。
至此,本地主机可以每天定时备份数据库,并定时把备份数据传到备份主机。这样,较好地实现了Oracle数据异地自动备份,本地主机如果有什么故障,数据有了可靠备份,同时,在一定程度上也减轻了系统管理人员烦琐、重复的备份工作。
(责任编辑 火凤凰 sunsj@51cto.com QQ:34067741 TEL:(010)68476636-8007)
原文转自:www.ltesting.net
篇4:简便实现Oracle数据库文件移动方法数据库教程
oracle|数据|数据库
Oracle数据库在使用过程中,随着数据的增加数据库文件也逐渐增加,在达到一定大小后有可能会造成硬盘空间不足;那么这时我们可以把数据库文件移动到另一个大的硬盘分区中,简便实现Oracle数据库文件移动方法数据库教程
。下面我就以Oracle for Windows版本中把C盘的数据库文件移动到D盘为例介绍Oracle数据库文件移动的方法和步骤。1.在sqlplus中连接到要移动文件的Oracle数据库,然后执行如下SQL语句查看Oracle数据库文件位置:
SQL> select file_name from sys.dba_data_files;FILE_NAME--------------------------------------------------------------C:ORA8ORADATAORACLEUSERS01.DBFC:ORA8ORADATAORACLEDR01.DBFC:ORA8ORADATAORACLETOOLS01.DBFC:ORA8ORADATAORACLEINDX01.DBFC:ORA8ORADATAORACLERBS01.DBFC:ORA8ORADATAORACLETEMP01.DBFC:ORA8ORADATAORACLESYSTEM01.DBF
查询到7记录.
记录要移动的文件的位置和名称。
2.下面我们以把文件“C:ORA8ORADATAORACLEUSERS01.DBF”移动到“D:ORADATAUSERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况修改文件路径和名称)操作即可,
<1> 首先让所有的用户停止连接该数据库,关闭数据库。在命令行窗口中输入:
C:svrmgrl(回车)SVRMGR>connect internal(回车)SVRMGR>shutdown immediate(回车)#等待数据库提示关闭SVRMGR>exit
<2> 从“C:ORA8ORADATAORACLE”目录下找到文件“USERS01.DBF”,然后复制到目录“D:ORADATA”下面。如果移动多个文件,重复该步骤。
<3> 进入命令窗口,按以下内容输入:
SVRMGR>connect internal(回车)
SVRMGR>startup mount(回车)
#等待数据库提示装载成功
SVRMGR>alter database rename file 'C:ORA8ORADATAORACLEUSERS01.DBF' to 'D:ORADATAUSERS01.DBF';
#提示语句已处理后,如果要移动多个文件,修改文件路径和名称后重复执行上面的语句。完成后打开数据库。
SVRMGR>alter database open;
SVRMGR>exit
数据库文件移动成功。
篇5:如何在网页中实现自动发送电子邮件功能
如何在网页中实现自动发送电子邮件功能
如何在网页中实现自动发送电子邮件功能
作者:周洁
重庆市总工会微机室
邮件列表(mailing list)是电子邮件的扩展应用之一,被广泛应用于用户的跟踪服务,发布产品信息,以及电子报刊等方面。用户可以向相应的邮件服务器发送一份订阅申请邮件,这样该用户就被加入到该邮件发送的列表中。其过程是:用户填写相关申请订阅信息,系统根据用户提供的邮箱地址发送一封确认邮件,并要求用户打开自己的邮箱,点击邮件相关确认部份将其的确认信息发送给网站的Webmaster,Webmaster在得到确认信息后向用户开通相关的服务。那么这种自动发送邮件的功能是怎样实现的,我们怎样在自己网站中实现该功能呢?下面将对此实现方法进行阐述。
软件厂商提供了方便、简易、与服务器无关且稳固的方法,使我们可以在页面上用一些ASP组件直接发送邮件。如:Microsoft提供的'CDONTS
及第三方组件Jmail、ASPFreeMail,FastMail,ASPEmail,ASPQEmail等。
1.CDONTS(collaboration Data Object for NT Server)
CDONTS与ADO类似,它们为用户提供了用任何程序和脚本语言访问操作系统复杂和稳固的功能集合的能力。编程人员通过以ActiveX封装Windows的本地消息服务来收发电子邮件。Windows2000中会默认安装SMTP服务,Windows NT中可用Windows NT4.0 option pack 4安装SMTP服务。安装后
CDONTS.DLL存放在C:WinntSystem32目录下面。有了该组件我们还不能立即应用它,在对它进行使用之前我们必须先完成组件的注册,我们可以在MS-DOS方式下进入到CDONTS.DLL所在的目录C:WinntSystem32下输入:
c:winntsystem32>regsvr32 cdonts.dll
(如果我们想将其御载可用指令: c:winntsystem32>regsvr32/u cdonts.dll)
通过CDONTS发送电子邮件非常方便,仅需创建一个邮件对象并设置其几个相关属性便可实现。基本过程如下:
<%‘创建一个邮件对象
set NewMailObj=CreatObject(“CDONTS.NewMail”)
NewMailObj.from=“源地址(发件人名)”
NewMailObj.To=“目标地址(收件人名)”
NewMailObj.Subject=”标题”
NewMailObj.Body=“邮件内容”
NewMailObj.AttachFile “filename”,“附件名”
设置优先级,0-不重要,1-一般,2-重要
NewMailObj.Importance=2
NewMailObj.Cc=”抄送地址”
NewMailObj.BCc=”密送地址”
NewMailObj.send ‘邮件发送
Set NewMailObj=Nothing ‘释放对象实例
%>
下面以网络杂志订阅系统的订阅申请及确认实现部分为例具体说明怎样用CDONTS对象实现自动发送邮件的功能。
★临时表在Oracle数据库与SQL Server数据库中的异同
★DELPHI 调用 Oracle 存储过程并返回数据集的例子.数据库教程
★linux中清空Mysql数据库ROOT密码教程linux操作系统
文档为doc格式