oracle数据库,查询到的结果怎样修改??
发布网友
发布时间:2022-04-25 06:08
我来回答
共4个回答
热心网友
时间:2022-04-07 22:24
在把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
al
而对等的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
al
而对等的SQL
Server查询则是下面这个样子:
SELECT
‘x’
连接
Oracle用||
符号作为连接符,而SQL
Server的连接符是加号:+
.
Oracle查询如下所示:
Select
‘Name’
||
‘Last
Name’
From
tableName
对应的SQL
Server查询如下所示:
Select
‘Name’
+
‘Last
Name’
热心网友
时间:2022-04-07 23:42
1、如果你是想修改数据库里的字段并保存的话,可以使用:
select
t.*,t.rowid
from
tablename
t
where。。。
点击查询结果
上面的
有个小锁头的
按钮,变成开的就可以
,编辑结果了,编辑后,点击
红钩的
按钮,以及页面上面的
确认保存更改数据的按钮(就是
有个绿色的小箭头,下面有个小圆柱--对应的红色的小箭头
是回滚按钮,不保存你的修改到数据库)。
确认后,数据修改成功,并保存到数据库。
适合修改少量数据,且此操作不锁表,既操作同时不影响其他对表的查询修改等。
2、update语句
update
tablename
set
字段1=值,字段2=值
where
。。
合适批量修改,锁表。
3、也可将表中的数据用SQL的语句整理好,插入新建的临时表,truncate原来的表的数据,再将临时表的数据插回原表。
热心网友
时间:2022-04-08 01:16
一、修改前准备工作:
使用ssh工具以root身份连接服务器,
然后切换到oracle用户:su
-
oracle(回车)
使用sqlplus连接数据库:sqlplus
/nolog(回车)
以管理员身份登录sys用户:conn
sys/sys
as
sysdba(回车)
数据库连接成功,至此准备工作完成。
二、修改用户名称。
数据库连接成功后,在sql>提示后面继续输入:
首先查到到所需修改用户名称的用户需要:select
user#,name
from
user$;(回车)--如:user#等于66
现在就可以修改用户名称了:update
user$
set
name='新的用户名称'
where
user#=66;(回车)
系统会提示:1
row
updated.说明修改成功,
再输入:commit;(回车)提交所作修改。
三、修改用户密码。
数据库连接成功后,在sql>提示后输入:alter
user
用户名
identified
by
新密码;(回车)
再输入:commit;(回车)提交所作修改即可。
热心网友
时间:2022-04-08 03:08
查询到的结果可用for
update来修改。
如:
select * from emp;查询到以下数据:
此时语句可改写:
select * from emp for update;然后点击如图图标:
此时可以修改表中内容,如将empno为8888的改成4444。按图中所示进行操作即可。