plsqlupdate语句(oracle 中plsql 怎样写更新一行的语句)
本文目录
- oracle 中plsql 怎样写更新一行的语句
- 有两个数据库用户a、b,plsql下能用update语句实现将b用户下的表c中的一列更新到a用户下表d下的某一列吗
- plsql中oracle的update语句不提交是不是就更新无效了
- plsql中涉及两个表的update怎么用请指教
- oracle 中plsql 怎样写更新一行的语句(高手请进)
- plsql中update语句的拼接问题,尤其是引号,该如何连接在语句中
- plsql下执行update sql转义问题
- 求教plsql中update数据的问题
oracle 中plsql 怎样写更新一行的语句
select * from table where id=’1111’ for update
其实我没大看懂您想干什么
有两个数据库用户a、b,plsql下能用update语句实现将b用户下的表c中的一列更新到a用户下表d下的某一列吗
能,不过要先进行几步操作
首先授权
在a下执行
grant select on c表 to 用户a
然后其他的信息你描述不够,俩表是否有关联之类的你得描述好,否则没法给你写
plsql中oracle的update语句不提交是不是就更新无效了
如果你不提交,么就仅仅是对当前session的内存中的数据进行的修改,当这个session断开,那么表内的数据没有修改,但是会一直占用内存。rollback和这个不同,rollback相当于也回复了内存中的数据,将内存中修改后的数据用保存在回滚段的数据进行替换,这样就算是当前的session也不会查到你修改后的数据。
plsql中涉及两个表的update怎么用请指教
update table1 set b=(select b from table2 where a=table1.a and b《》table1.b)
oracle 中plsql 怎样写更新一行的语句(高手请进)
你可以用这个语法 update tablename set row =v_rec where id = pi_id;
其中 row 是关键字。
在存储过程中,
1、v_tableRec table%rowtype ; --声明变量
2、*****1 := ’aaa’ ;....
3、update tablename set row = v_tableRec where ...;
也可以 insert into tablename values v_tableRec ;
其中 update的语法是我在oracle‘中 试出来的。文档很少,的确可以使用。目前我经常使用 这样的语法,如
v_tableRec table%rowtype;
select * into v_tableRec from tablename where pk=pi_pk ;
--下面仅修改需要更新的字段。
v_tableRec.f1 := f1 ;
v_tableRec.f2 := f2 ;
.....
update tableName set row = v_tableRec ;
这样避免了 update tablename t
set t.f1 = f1,
t.f2 = f2 ....;
避免了名值难以对齐的现象。
我猜想缺点可能是必须更新全字段,比较繁琐(抑或效率不高),不过比起清晰的逻辑来,我更喜欢这样的风格。
plsql中update语句的拼接问题,尤其是引号,该如何连接在语句中
楼上只是一种方法,chr(39) 就是 英文模式下单引号。
还有一种方法是 update table set xxx = ’’’’ ,这里,四个单引号,其实就代表一个单引号字符的值
希望能帮助到你,望采纳为满意答案。(我的回答左下角有个“采纳为满意答案按钮”,点之~)
plsql下执行update sql转义问题
改成
update hd_ErrorSql set cErrorSql =’INSERT INTO BOM (COMPNUM) values (’’ZCBM’’)’
where recrc=’BEM01’ and updateno=’6’
试试,字符串内部的引号 要用双引号来代替
求教plsql中update数据的问题
建议使用plsql块来写:
begin
--先查出A表中的记录(存在相关B表的记录为前提,避免无用数据),进行循环
for item in (select id, 得分1, 得分2, 得分3 from A where exists(select 1 from B where **** = ****)) loop
--然后判断每次循环的值,进行update
if nvl(item.得分1, 0) 《》 0 then
update B set 最终得分 = item.得分1 where id = *****;
elsif nvl(item.得分2, 0) 《》 0 then
update B set 最终得分 = item.得分2 where id = *****;
else
update B set 最终得分 = item.得分3 where id = *****;
end if;
end loop;
end;
-- 如果在plsql中控制事务,需要commit
commit;
有疑问发追问。
更多文章:
regularly怎么读(regualrly;blossom;fierce;explore;这些个英语怎么读)
2026年4月21日 20:00
python生成1 100随机数(python产生1到100的随机数是多少)
2026年4月21日 19:40
css导入失败(ThinkPHP,在引入css js文件时失败)
2026年4月21日 18:20
plsqlupdate语句(oracle 中plsql 怎样写更新一行的语句)
2026年4月21日 18:00
管理系统的设计与实现(【企业信息化管理平台的设计与实现】 华为企业信息化管理)
2026年4月21日 17:40
matlab中画图命令(如何用matlab直接画图-matlab如何描点画图)
2026年4月21日 17:20





