如何重命名Oracle 10g中的表列(How to rename a table column in Oracle 10g)
我想知道:如何重命名Oracle 10g中的表列?
I would like to know: How to rename a table column in Oracle 10g?
原文:https://stackoverflow.com/questions/13878383
更新时间:2019-11-21 04:34
最满意答案
SQL> create table a(id number);
Table created.
SQL> alter table a rename column id to new_id;
Table altered.
SQL> desc a
Name Null? Type
----------------------------------------- -------- -----------
NEW_ID NUMBER
SQL> create table a(id number);
Table created.
SQL> alter table a rename column id to new_id;
Table altered.
SQL> desc a
Name Null? Type
----------------------------------------- -------- -----------
NEW_ID NUMBER
2012-12-14
相关问答
SQL> create table a(id number);
Table created.
SQL> alter table a rename column id to new_id;
Table altered.
SQL> desc a
Name Null? Type
----------------------------------------- -------- -----------
NEW_
...
如果您只需停止插入数据,则可以创建一个BEFORE INSERT FOR EACH ROW触发器,在保存该行之前删除插入列中的任何值。 您还可以使用安全性(也包括视图)来做其他各种事情,以防止在特定情况下从特定用户插入/选择,但这些可能不会让现有插入继续工作。 If all you need to do is stop data from being inserted, you could create a BEFORE INSERT FOR EACH ROW trigger that wipes
...
是的,LOW_VALUE和HIGH_VALUE会告诉您列中的最小值和最大值, 但是 : 它们被存储为RAW(32)列,所以含义不会立即显现 他们将是最后一次收集统计信息的表格,因此可能不准确(除非您在使用统计信息之前明确收集统计信息) 如果对列进行索引,那么MIN(a)和MAX(a)应该非常快,正如本例中T1有50000行并且在OBJECT_ID上索引的那样: SQL> select min(object_id) from t1;
MIN(OBJECT_ID)
--------------
...
听起来你想要一个GROUP BY SELECT column_name, count(*)
FROM table_name
GROUP BY column_name
It sounds like you want a GROUP BY SELECT column_name, count(*)
FROM table_name
GROUP BY column_name
我做了一个解决方法。 XML:
text
SQL: SELECT XML_TABLE.NAME,
DECODE (XML_TABLE.FIRST_ID, NULL, 0, 1) AS HAS_DOCUMENT
FROM XML_DATA,
XMLTABLE('//root' PASSIN
...
尝试这个 对于Oracle 11g: SELECT 'CREATE INDEX ' || INDEX_NAME || ' ON '
|| TABLE_NAME || ' (' || COL_LIST || ',NEWCOLUMNNAME)'
FROM (
Select index_name,table_name,
LISTAGG(COLUMN_NAME || DECODE(DESCEND,'ASC','', ' ' || DESCEND), ',
...
ROWNUM通常是停止优化器转换的最佳方法。 提示很难正确 - 语法很奇怪且有问题,并且有许多潜在的转换需要停止。 还有其他方法可以重新编写查询,但ROWNUM通常是最好的方法,因为它被记录为以这种方式工作。 ROWNUM必须评估最后用于前N个查询,您始终可以依赖它来防止查询块被合并。 示例模式 drop table table_a;
drop table table_b;
create table table_a(a number, b number);
create table table_
...
将数据和索引分离到单独的表空间没有任何好处,除了可能使DBA更容易将类似对象组合在一起。 长期存在的一个神话是,将索引和数据分开对于性能原因是有益的 - 这是不正确的。 临时对象应该(并且必须)存储在临时表空间中。 如果要将这些大型临时表隔离到单独的表空间中,可以增加TEMP表空间的大小或为拥有这些对象的用户创建单独的临时表空间。 您不能(也不希望)将它们存储在永久表空间中。 但在架构上,我会非常好奇为什么在你的系统中需要临时表。 如果你有10个GB的会话写入临时表,那么为了将数据写入其他地方,可
...
感谢@jonearles提供的链接和@redcayuga的建议。 我还能够在Toad中发现一些依赖实用程序,并成功地(我希望)跟踪所有引用以便编辑它们。 谢谢您的帮助。 Thanks to the link provided by @jonearles & advice from @redcayuga. I also was able to discover some dependency utilities in Toad and have successfuly (I hope) tracke
...
您可以在oracle 11g中使用UNPIVOT并使用以下查询在Oracle 10g或更低版本中实现您的要求: select 'GL_NEWS_LOCAL_BRD' As COLUMN_NAME,GL_NEWS_LOCAL_BRD as NEWSCOUNT
from TBL_NEWS
union all
select 'GL_GRD_GLOBAL_BRD' as COLUMN_NAME ,GL_GRD_GLOBAL_BRD as NEWSCOUNT
from TBL_NEWS
或者,如果你有o
...