根据Oracle文档,不能使用derived column list规范重命名列。但可以分别重命名表和列,如下所示:
创新互联专注于嘉陵网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供嘉陵营销型网站建设,嘉陵网站制作、嘉陵网页设计、嘉陵网站官网定制、重庆小程序开发服务,打造嘉陵网络公司原创品牌,更为您提供嘉陵网站排名全网营销落地服务。
-- Rename a table or query name to u(b)
with t(a) as (select 1 from dual)
select u.a b from t u;
-- Rename a derived table to u(b)
select u.a b from (select 1 a from dual) u;
但是这需要比以前的语法更多关于派生表(实际列名)的知识。另外,重命名的列只能在ORDER BY子句中才可用
在Oracle(还有MySQL)中,是否有一种更通用的方法来重新命名表和列,这正如SQL标准所建议的那样?特别是,这可能是非常有用的事情,如数组解除,,内联复杂的子查询,重命名表函数的结果等。
注意:请不要太在意上面的例子。他们只是在这里来说明这个问题。实际的查询要复杂得多,我也正在寻找一种实现重命名的非常通用的方法u(b)
应该是你的SQL语句里面有重复的列名,比如select * from user1 a,user2 b where a.id=b.id
这样的话你们都有ID,创建的时候就会报错,你可以指定id取个别名,比如,select a.id aid,b.id bid from user1 a,user2 b where a.id=b.id
你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同, 二, 1,测试表create table TEST(ID NUMBER not null, NAME VARCHAR2(20))ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名 ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名 ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段类型 ALTER TABLE SCOTT.TEST ADD ADD RESS VARCHAR2(40) --添加表列 ALTER TABLE SCOTT.TEST DROP COLUMN RESS--删除表列三, ALTER TABLE gtsysusr.SCHEDULE_CONTENTS MODIFY CONTENTS_ID NVARCHAR2(64) 另建一个表,把varchar改成date,然后用SQL转一下插入,然后删除原表,然后改目标表名字。应该可以了。 四,
如果列名不适合,那么可以使用alter
table语句的rename
column子句改变列名。语法如下:
alter
table
table_name
rename
column
column_name
to
new_column_name;
你这一题该是
alter
text
rename
textpass
to
password
去试下!
在oracle中重命名表空间需要使用ALTER、TABLESPACE、RENAME、TO关键字。在Oracle-11g以前的版本中,表空间无法重命名,但Oracle-11g提供了对表空间进行重命名的新功能,这对于一般的管理和移植来说时非常方便的。