oracle数据库中给字段加默认值的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle数据库中给字段加默认值的问题相关的知识,希望对你有一定的参考价值。

oracle数据:
create table T_USER
(
YHBM VARCHAR2(11) not null,
DLMC VARCHAR2(20) not null,
SWRY_DM VARCHAR2(11) not null,
MM VARCHAR2(60)
);
alter table T_USER
add constraint T_USER_PK primary key (YHBM);
alter table T_USER
add constraint T_USER_UNIQUE1 unique (DLMC);
alter table T_USER
add constraint T_USER_UNIQUE2 unique (SWRY_DM);
alter table T_USER modify MM default 'gdyb21LQTcIANtvYMT7QVQ==' || chr(10) || ''
上面建表和加约束是在oracle数据库中 最后一句:alter table T_USER modify MM default 'gdyb21LQTcIANtvYMT7QVQ==' || chr(10) || ''是什么意思?跟MD5码有什么关系啊?

就是给MM字段设置默认值啊,这个默认值就是gdyb21LQTcIANtvYMT7QVQ==chr(10) ",
gdyb21LQTcIANtvYMT7QVQ是字符1234,通过MD5算法加密后得到的追问

那我怎么把这个语句放到SqlServer2005下不行啊?

追答

Oracle和sqlserver,语法有很多地方都不一样,不行很正常,
改成这样可以:
create table T_USER(
YHBM VARCHAR(11) not null,
DLMC VARCHAR(20) not null,
SWRY_DM VARCHAR(11) not null,
MM VARCHAR(60));
alter table T_USER add constraint T_USER_PK primary key (YHBM);
alter table T_USER add constraint T_USER_UNIQUE1 unique (DLMC);
alter table T_USER add constraint T_USER_UNIQUE2 unique (SWRY_DM);
alter table T_USER add constraint c_default default \'gdyb21LQTcIANtvYMT7QVQ==chr(10)\' for MM

参考技术A 没有什么关系,默认的设置一个字符串而已,和MD5没有任何直接的关系。

oracle中给表添加一个数值类型为double的列,出现缺少关键字这个问题怎么解决?

参考技术A 请注意语法是否正确
其次注意oracle是否有double这个数据类型

1.增加列

ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]);

例如:

SQL>ALTER TABLE emp01 ADD eno NUMBER(4);

2.修改列定义

例如:

SQL>ALTER TABLE emp01 MODIFY job VARCHAR2(15)

2 DEFAULT 'CLERK'

3.删除列

例如:

SQL> ALTER TABLE emp01 DROP COLUMN dno;

4.修改列名

例如:

SQL>ALTER TABLE emp01 RENAME COLUMN eno TO empno;

5.修改表名

例如:

SQL>RENAME emp01 TO employee;

6.增加注释

例如:

SQL>COMMENT ON TABLE employee IS '存放雇员信息';

SQL>COMMENT ON TABLE employee.name IS '描述雇员姓名';
参考技术B ORACLE里用NUMBER代替了DOUBLE,INT
NUMBER(m,n)就可以实现DOUBLE精度本回答被提问者采纳

以上是关于oracle数据库中给字段加默认值的问题的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库的一个表中,怎么设置字段的默认值

Oracle中插入默认时间

对于Oracle中Number类型的字段映射成Java中的具体类型的问题

oracle中给表添加一个数值类型为double的列,出现缺少关键字这个问题怎么解决?

在存储过程中给变量赋值的问题:

oracle一个字段多个值的问题