delete 多表删除的使用 1.从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id 2.从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉 DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或 DELETE FRO
今天同事遇到一个很奇怪的问题,恢复了一个数据库,表明明存在,用PLSQL和sqlplus都试过了,SQL语句select * from 表名,查询数据,却提示表名不存在异常 然而,使用select * from 用户名.表名的方式,却可以查询出数据 网上有说是没有权限,但实际上已经有权限了 时间来不及,先想了个大招,使用create table 表名 as select * from 用户名.表名的方式新建了一个表,居然还创建表成功了,暂时解决燃眉之急,至于实际原因,还未找到~
原情况:A服务器表A服务器B也有一张表A服务器B上有一个存储过程要把本地的head表向A服务器表里插入数据.变更后:在A服务器表里增加了一个字段inserttime,服务器B存储过程本地表向A服务器插入时,记录插入的时间.问题修改语句如下:insert into A@flw select t.*,sysdate from A;这个语句单独执行没有问题.但在存储过程里执行一直报错,报值过多. 解决: 猜想可能是dblink的问题,把原来的dblink删除,重新新建一个dblink(名称与之前相同
ORACLE删除当前用户下所有的表的方法 如果有删除用户的权限,则可以: drop user user_name cascade; 加了cascade就可以把用户连带的数据全部删掉.删除后再创建该用户. --创建用户 create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespace space_temp(临时表空间名称); --授权 grant connect,dba to 用户名