跪求高手解答ORACLE操作表的问题 - Oracle / 开发
SQL code:
create table A
(
a_id number primary key,
a_name varchar2(20),
a_colName varchar2(50)
);
create table B
(
b_id number primary key,
b_colName varchar2(50)
);
create table C
(
c_id number primary key,
c_name varchar(20)
);
create sequence seq_A;
create sequence seq_B;
create sequence seq_C;
insert into B values(seq_B.Nextval,'colName1');
insert into B values(seq_B.Nextval,'colName2');
insert into B values(seq_B.Nextval,'colName3');
insert into C values(seq_C.Nextval,'Name1');
insert into C values(seq_C.Nextval,'Name2');
insert into C values(seq_C.Nextval,'Name3');
insert into A(a_id,a_name) select seq_A.Nextval,c.c_name from C c
select * from A;
--显示结果
-- A_ID A_NAME A_COLNAME
-- 1 Name1
-- 2 Name2
-- 3 Name3
--问题 怎样才能把 A_COLNAME 列填满 要求值是从 B 表 b_colName 列而来(考虑性能)
--我是这样做的 ,我希望有一种能批量的方法 (oracle 10g)
declare
b_colname varchar2(15);
cursor mycur is select b.b_colname from B b ;
begin
open mycur;
loop
fetch mycur into b_colname;
--update A表
exit when mycur%notfound;
dbms_output.put_line(b_colname );
end loop;
close mycur;
end;
直接一个update,不用游标和过程也行啊
或者用forall
我要批量改的 一条一条性能不
相关问答:
大家好,我现在把oracle服务器上面的原始文件,下载到本机了.我想在本机访问数据库怎么设置啊.是不是类似可以建立一个什么虚拟服务器来实现.请大家出出主意
引用
大家好,我现在把oracle服务器上面 ......
在系统运行的时候总是有一块磁盘始终闪红灯,进入系统后
#topas查看总是有一块磁盘%BUSY为90%以上,
数据库版本:oracle 9.2.0.7
数据文件挂载的节点:/oradata/pcs/ 逻辑卷号lv04
#lslv -l lv04
......
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=186646784)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBErro ......
SQL code:
CREATE OR REPLACE PROCEDURE usp_refreshTopN IS
BEGIN
--文档
INSERT INTO topnresource(resourceId,title,type,cover,brief,properUser,tag,clickAmount,createDate,topNCreateDate,organizat ......
怎么通过命令查看自己已经创建的表?
select tname from tab;
SQL code:
--1.sys用户登录
select table_name
from dba_indexes
where table_owner = '用户名';
--2.所有用户
select * from tab;
......