2.Alter Table
--添加字段
alter table table_name add column_name varchar2(100);
--修改字段
alter table table_name modify column_name varchar2(50);
--删除字段
alter table table_name drop column column_name;
3.Truncate Table
--快速删除表中内容
truncate table column_name;
--删除表及表结构
drop table column_name;
5.使用TCL事务控制语言
数据存储的逻辑单位是数据块,数据操作的逻辑单位是事务
1.提交
--当我们在插入数据时,只有当我们使用了Commit后,数据才正真插入的数据表中
--此情况只存在与使用SQL*plus时
insert into emp values(207,'张三丰','12-2月-10',90)
--此时以创建一行,我们查询是却看不到
--只有当我们Commit了,才可以看到数据
commit;
2.回滚
--仅限于使用SQL*Plus
--先删除emp表所有数据
delete from emp;
--此时再查询时,emp表中没有数据
--当我们使用rollback回滚后
rollback;
--查询时,数据依然存在
3.回滚部分事务
--删除emp_id为101的员工
delete from emp where emp_id=101;
--设置保存点
savepoint p1;
--再删除emp_id为102的员工
delete from emp where emp_id=102;
--此时使用rollback回滚到p1
6.Orcale中常用函数
在书函数之前,向大家介绍Orcale中的虚拟表dual,它有一行一列,所有者是sys,但可以被所有账户使用。
1.单行函数
(1).日期函数
a.ADD_MONTHS:用于返回指定的日期加上指定的月数后的日期值
--根据dual表获取系统当前时间
select sysdate 当前系统时间 from dual;
--比如当前时间是10-7月-11(2011年7月10日)
select add_months(sysdate,1) 新的日期 from dual;
--则返回新的日期是:10-8月-11(2011年8月10日)
b.MONTHS_BETWEEN:用于返回两个日期之间的月份数
--假设当前系统时间为:10-7月-11
select months_between('10-10月-11',sysdate) 相差的月份 from dual;
--此时可能返回的是一个小数,我们可以使用floor函数取整
select floor(months_between('10-10月-11',sysdate) 相差的月份 from dual;)
c.LAST_DAY:用于返回指定日期对应月份的最后一天
--假设当前时间是:10-7月-11
select last_day(sysdate) 当月的最后一天 from dual;
--此时返回:31(7月的最后一天是31号)
d.NEXT_DAY:用于返回指定下一个星期几的日期
--假设当前时间为10-7月-11(星期日)
select next_day(sysdate,'星期五') next_day from dual;
--返回下个星期五的日期(如果当前时间是星期一,则返回当前星期五的日期)
--上面的SQL语句返回15-7月-11(星期五)
分享到:
相关推荐
Oracle 一次请求执行多条sql语句 在.net 中查询Sql Server 一次请求执行多条sql语句很简单 拼接起来就好了 初次接触oracle 在网上寻找了很多方法终于被我解决了 我把问题想复杂了 例子中提供了2种解决方案 一种...
本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次执行多条SQL语句。 首先,我们需要了解Oracle的数据驱动,即ODP.NET(Oracle Data Provider for .NET)。这是Oracle公司为.NET开发者提供的一个...
oracle数据库一行拆成多行.sql
在Oracle数据库管理中,权限管理是一项至关重要的任务,它确保了数据的安全性和访问控制的有效性。本文将深入探讨如何在Oracle中将一个用户的所有表的权限授予另一个用户,这一过程通常在PL/SQL环境下通过执行特定的...
Oracle统计一天内每小时的数据量。在某小时内有数据,该时间段会被统计出来;该时间段内没有交易,该时间段不会被统计出来,默认为0即可
Oracle左连接返回多条记录中一条记录的查询语句,更具指定条件分组排序,返回各组中第一条记录
开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果。但是奇怪的是执行其他的select语句却是可以执行的。 原因和解决方法 这种...
这个文件是用oracle的脚本的如的,往oracle中插入的数据量可能会使用
C#连接Oracle数据库(查询数据)方法,好东西,分享一下
介绍了将多行转为字符串的三种方案,并比较了三种方案的执行效率. 1.sys_connect_by_path + start with ... connect by ... prior + 分析函数 2.自定义Function/SP 3.使用 Oracle 10g 内置函数 wmsys.wm_concat
该函数主要对oracle 中数据表中存在的多选字典值进行翻译
一周循环备份oracle数据库,只用修改链接,设置任务管理器就可以. set oracle_username="l_sys" set oracle_password="123456" set local_tnsname="oradb" 修改以上配置,定时执行即可
Oracle 数据库开发培训中根据某一列的值修改另一列的值 Oracle 数据库是一种关系型数据库管理系统,广泛应用于企业级应用程序中。在 Oracle 数据库中,我们可以使用 update 语句来修改某一列的值根据另一列的值。...
1.查询时间段内执行的sql、Produce select * from v$sqlarea a where 1=1 and a.LAST_ACTIVE_TIME >= to_date( '2013-02-21 18:23:00','yyyy-MM-dd HH24:mi:ss') and a.LAST_ACTIVE_TIME <...
1、实现Python批量数据入库。 2、统一提交事物,保证数据的完整性
oracle存储过程中入参是逗号分隔,并且参数要使用在in过滤语句中查询数据。处理的方法与实现
select f_find('Ap@2233ll@@l@@','@') from dual 返回结果为5,代表‘@’在该字符串中出现5次。 同理 select f_find('Ap@223SWEQQQ3ll@@l@@','Q') from dual---返回3,代表Q在字符串中出现了3次, ...
C# 通过oracle sqlldr 将TXT批量导入oracle 一个文件夹里有大量的TXT文件,以"~"区分各字段. 这个程序能批量将此文件夹里的所有的文件导入oralce 并按日期把已导入的TXT文件复制另一个文件夹
最新的Oracle 10g价格表,是国内一家代理商出示的