Solution 1: 修改1列(navicate可行) update student s, city c set s.city_name = c.name where s.city_code = c.code; Solution 2: 修改多个列 update a, b set a.title=b.title, a.name=b.name where a.id=b.id Solution 3: 采用子查询(navicate不可行) update student s set city_n
一般的方法:先使用sql查询: SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME; 将查询结果复制一下,在sql命令窗口里再执行一次就删除了所有的表. 还有一种更全面的删除:和上一中类似,先使用sql查询: select 'drop table '||table_name||';' from cat where table_type='TABLE' ORDER BY TABLE_NAME;
declarecursor c_col is select * from xtgl_jgmcbm where substr(v_jgbm,0,2)in('41');--v_sjbm in( select distinct substr(v_zjhm_mq,0,6) from etbj_fmdj where length(v_dzpath)=7 and substr(v_zjhm_mq,0,2)='45' );begin for r_col in c_col loop update etbj_fm
返回处理后的数据,不同于round()(对数值进行四舍五入处理),该函数不对指定小数前或后的数值部分进行舍入处理. 语法:trunc(number[,decimals]) 其中,number为待做处理的数值,decimals为需要保留小数点后面的位数,即精度,默认值为0,此时将截去所有的小数部分. 数值处理: select trunc(123.45) as a,trunc(123.456,2) as b, trunc(123.45,-1) as c from dual ;
例子: update a set a.name=b.name1 from a,b where a.id=b.id 例子延伸:更新的时候会把字符串 转为科学计数法 怎么办? 答:用 cast 转换一下 ,或者双cast update LoaneeExpand set LoaneeExpand.phone=cast(cast(tt.PHONE as decimal(18,0)) as nvarchar(50)) from LoaneeExpand ,tt where LoaneeExp
转载:http://www.cnblogs.com/nizuimeiabc1/p/9441937.html 1,首先查找表的操作记录 select * from v$sqlarea a where a.SQL_TEXT like '%TB_ACCT_SYSDATE%'; 2,从上面的记录中找到update语句对应的sql_id select * from v$sqltext a,v$sqlarea b where a.SQL_ID=b.SQL_ID and b.SQL_ID in('cq5382
--选择部门中30的雇员SELECT * from emp where DEPTNO=30;--列出所有办事员的姓名.部门.编号--采用内连接方式,也就是等值链接,也是最常用的链接SELECT ename,empno,dname from emp e INNER JOINdept d on e.deptno=d.deptno where job='CLERK';--找出佣金高于薪金的雇员select * from emp where comm>sal;--找出佣金高于薪金60%的雇员select
1.select uat.table_name from user_all_tables uat 该SQL可以获得所有用户表的名称 2.select object_name, created,last_ddl_time from user_objects 该SQL可以获得所有用户对象(包括表)的创建和最后修改时间 综合以上SQL,总结了如下语句: select uat.table_name as 表名,(select last_ddl_time from user_objects where o