修改某一张表其中一列的信息 ? 改成什么样的alter table 不行?
解决方案 »
- 急!oracle11g第二版卸载问题
- 新手请教双机同步问题
- 请问这个语句怎么写
- 关于windows 2003上安装RAC事vip ip的问题。
- oracle如何批量创建function同义词?
- 请问各位高手在 oracle 中 如何编写 存储过程 SQL实现动态查询
- 请教:Delphi7.0,Oracle10, ADO连接,问题如下:主从表关系,当删除主表记录时,对应的从表记录没有删除,是什么原因?记得以前MSSQL时没
- 怎样在DOS下执行批处理!删除所有表!
- 如何利用数据词典获得用户被授予的角色信息
- 求助!紧急啊~~查询字段为空的时候where条件略过,不为空时则判断该字段,怎么写!!! [问
- 如何在过程里对LONG RAW字段进行操作?
- 过程中SQL语句的执行权限问题?
before insert on a
for each row
declare
str varchar2(100);
begin
str:='alter table ...';
execute immediate str;
end;
/
但大家可能没理解我的问题,简单一点,还是把语句贴出来吧!
UPDATE SYS.COL$ SET NAME='temp' where OBJ#=23884 AND NAME='tempup';
这句话在触发器里执行就会出错,可是在sql/plus里直接输入就没有错,我把它放到存储过程里执行,又说我的权限不够,这是为什么呀??
就是想改个列名嘛
你的数据库是什么版本的 9i可以用 alter table 更改 8i可以考虑用 view 来弥补这种情况
如果你真的想 UPDATE SYS.COL$ 就 connect sys as sysdba 然后 grant all on col$ to username
我用的是8.1.7数据库,你说的用view方式,能说清楚点吗??
谢谢
我是实在想不出好方法了,你有什么办法吗??
我有一张表a,里面存储着其它表(b或其它)的名称和一些相关信息,当对表a进行插入操作时,触发器要在当前表空间里建立一张表b,当更新a记录时,在触发器里要更新表b的信息,其中包括更改表中的列名,等等其它的操作。
create or replace view
(col1,col2,col3,temp,col4)
as
select col1,col2,col3,tempup,col4 from yourtablename
谢谢你的回复!!
不过我不是想问怎么建一张视图,我是想问我的问题怎么用视图的方式解决!!
能给予指教吗??