网站建设资讯

NEWS

网站建设资讯

oracle怎么修改数据,oracle怎么修改数据库时间

oracle数据库,查询到的结果怎样修改?

在把Oracle查询结果转换为SQL Server的时候要特别当心一些不容易注意到的问题。

网站建设、成都网站建设的关注点不是能为您做些什么网站,而是怎么做网站,有没有做好网站,给成都创新互联一个展示的机会来证明自己,这并不会花费您太多时间,或许会给您带来新的灵感和惊喜。面向用户友好,注重用户体验,一切以用户为中心。

我们知道,T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL.这两种查询语言都对

ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何

对这些扩展进行转化以用在SQL Server环境下。

列的选择

用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUAL.DUAL表由

Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2

(1)类型,有一行值X.

从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。

Oracle下的DUAL查询如下所示:

SELECT

‘x’ FROM dual

而对等的SQL Server查询则是下面这个样子:

SELECT ‘x’

连接

Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ .

Oracle查询如下所示:

Select ‘Name’ || ‘Last Name’

From tableName

对应的SQL Server查询如下所示:

Select ‘Name’ + ‘Last Name’

数字取舍

Oracle数据库内有一个TRUNC函数,该函数返回m位十进制数的n位;如果省略m则n就是0位。m的值可以为负,表示截去小数点左边m位数字。

在SQL Server下可以用Round或者Floor.

以下是Oracle查询:

SELECT

TRUNC(15.79,1) "Truncate" FROM DUAL;

下面是同类查询的SQL Server版本:

SELECT ROUND(15.79, 0) rounded ,

ROUND(15.79, 0,1) truncated

SELECT FLOOR(ROUND(15.79, 0)),

FLOOR(ROUND(15.79, 0,1) )

在把Oracle查询转换为SQL Server的时候要特别当心一些不容易注意到的问题。我们知道,T-SQL是SQL Server的语言引擎,而Oracle的语言引擎却是PLSQL.这两种查询语言都对

ANSI SQL-92标准进行了扩展以提供额外的支持力度。你所创建的应用程序几乎都要用到这些补充特性。本文就对最常用的、非标准的Oracle扩展进行了说明,同时还要介绍下如何

对这些扩展进行转化以用在SQL Server环境下。

列的选择

用PLSQL执行数据查询的时候,FROM子句是必须的,这同SQL Server的要求是一样的。 SELECT语句必须选择针对的数据表。在Oracle数据库内有一种特殊的表DUAL.DUAL表由

Oracle连同数据字典一同创建,所有的用户都可以用名称DUAL访问该表。这个表里只有一列DUMMY,该列定义为VARCHAR2

(1)类型,有一行值X.

从DUAL表选择数据常被用来通过SELECT语句计算常数表达式,由于DUAL只有一行数据,所以常数只返回一次。

Oracle下的DUAL查询如下所示:

SELECT

‘x’ FROM dual

而对等的SQL Server查询则是下面这个样子:

SELECT ‘x’

连接

Oracle用|| 符号作为连接符,而SQL Server的连接符是加号:+ .

Oracle查询如下所示:

Select ‘Name’ || ‘Last Name’

From tableName

对应的SQL Server查询如下所示:

Select ‘Name’ + ‘Last Name’

如何批量修改oracle数据库中的某一个字段?

--以下是我根据你的描述,做的测试,希望对你有帮助:\x0d\x0a\x0d\x0a-- 新建一张表kongxianji:\x0d\x0aCREATE TABLE kongxianji(a VARCHAR2(200));\x0d\x0a\x0d\x0a-- 插入数据,然后提交:\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(6)789');\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(67)89');\x0d\x0aINSERT INTO kongxianji (a) VALUES ('12345(678)9');\x0d\x0aCOMMIT;\x0d\x0aSELECT * FROM kongxianji;\x0d\x0a\x0d\x0a-- 把a中的括号去掉,然后提交,到这一步可以查看表中数据的变化情况:\x0d\x0aUPDATE kongxianji SET a = replace(a,substr(a,instr(a,'('),(instr(a,')')-instr(a,'(')+1)),'');\x0d\x0aCOMMIT;\x0d\x0a\x0d\x0aSELECT * FROM kongxianji;

Oracle数据库数据修改语句

oracle中修改数据用update语句。

语法:

UPDATE 表名 SET 字段='XXX' WHERE 条件;如,数据库中,test表数据如下:

现在要将王五的名字改成王九,可用如下语句:

update test set name='王九' where name='王五';

commit;执行后结果:

如何批量修改oracle数据库中某一个表中的某一列数据?

最好的方法是批量修改,即每次修改5000条(一次修改不要超过一万条,否则影响性能). 虽然在11g中,我们也可以选择使用merge命令,但你的这种情况最好先修改一部分然后看看影响,毕竟在生产环境作这样的操作风险很大。如果是误操作,最好还是请DBA来恢复,虽然这样做会被挨骂,但总比错上加错,最后连挨骂的机会都没有要好得多。如果对这些修改真的有信心,而只是从性能考虑,那可以用下面的方法(pk_col 是表的主键

1、构建临时表进行主键关联更新

需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。

做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新操作:

ps:c,d是需要更新的操作,e,f是条件。必须强调的是id必须是主键

1、构建临时表进行主键关联更新

需求:T1表有千万级别的数据量,需要更新这个表的字段a,b满足2个条件的记录。

做法:一般业务会将条件通过excel表格提供给开发,那么开发首先需要将这个excel表格的内容插入到临时表T2中,考虑到a,b都不是主键,那么需要将a,b转化成主键后再插入到T2表中,T2表中还可以保存更新前的数据,方便做数据回滚,T2表中有数据后,就可以执行下面脚本进行更新操作:

ps:c,d是需要更新的操作,e,f是条件。必须强调的是id必须是主键

oracle怎么循环每次修改500条数据

循环修改表。

第一种使用循环修改表 --遍历一个表并作修改 declare bl varchar(100); --声明一个字符串变量 BEGIN FOR L_RECORD IN 。

对于oracle数据库,batchupdate每次处理到少条记录比较好呢?tom在这里对于jdbc的batchupdate说的比较直白了。批处理的N取值在100到500比较合理,500以上,适合数据仓库使用。

oracle数据库,查询到的结果怎样修改??

查询到的结果可用for update来修改。

如:

select * from emp;

查询到以下数据:

此时语句可改写:

select * from emp for update;

然后点击如图图标:

此时可以修改表中内容,如将empno为8888的改成4444。按图中所示进行操作即可。


本文名称:oracle怎么修改数据,oracle怎么修改数据库时间
网页链接:http://njwzjz.com/article/dsgiodj.html