在Oracle中,可以通过ALTER TABLE语句添加常量字段,语法如下:
ALTER TABLE table_name ADD (column_name data_type DEFAULT constant_value)
其中,column_name为常量字段的名称,data_type为常量字段的数据类型,constant_value为常量字段的值。在这个语句中,我们需要指定数据类型,以便Oracle知道如何存储这个常量字段的值。
例如,如果要在表中添加一个名为"status"的常量字段,其值为"active",可以使用以下语句:
ALTER TABLE my_table ADD (status VARCHAR2(10) DEFAULT 'active')
这将在表"my_table"中添加一个名为"status"的VARCHAR2类型的常量字段,并将其默认值设置为"active"。
总之,添加常量字段时需要指定数据类型,以便Oracle知道如何存储该字段的值。
方法:需要在oracle数据库中新增一个字段,并且该字段不能为空,执行新增方法,报错
因为表里面已经有数据了,就不能添加非空列了,除非指定默认值
或者先将该字段设置为空,然后把这个值有关的旧数据设置一个默认值,再将此字段更改属性“不能为空”。
1、创建测试用表test和test1create table test
(id int,
name varchar2(10))
create table test1
(id int,
name varchar2(10))
2、要为两个表同时增加id1和name1字段。使用代码:
v_sql varchar2(2000)
v_table_name varchar2(30)
cursor c1 is select table_name from user_tables
begin
open c1
loop --提取一行数据到c1
fetch c1 into v_table_name
--判读是否提取到值,没取到值就退出
--取到值c_job%notfound 是false
--取不到值c_job%notfound 是true
exit when c1%notfound
v_sql:='alter table '||v_table_name||' add id1 int'
execute immediate v_sql
v_sql:='alter table '||v_table_name||' add name1 varchar2(10)'
execute immediate v_sql
end loop--关闭游标
close c1
end
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)