Lightdb22.3兼容oracle alter modify修改表字段类型、默认值、非空约束

编程入门 行业动态 更新时间:2024-10-12 20:28:09

Lightdb22.3兼容oracle alter modify修改<a href=https://www.elefans.com/category/jswz/34/1750299.html style=表字段类型、默认值、非空约束"/>

Lightdb22.3兼容oracle alter modify修改表字段类型、默认值、非空约束

支持

改变类型、默认值和非空约束

1、测试类型转换:

–varchar(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id varchar(100) default ‘20221108’ not null,
last_name varchar(100) default ‘20221108’ not null,
job_id varchar(100) default ‘20221108’ not null,
sex varchar(100) default ‘20221108’ not null,
is_manager varchar(100) default ‘20221108’ not null,
hobby varchar(100) default ‘20221108’ not null,
tele varchar(100) default ‘20221108’ not null,
email varchar(100) default ‘20221108’ not null,
experience varchar(100) default ‘20221108’ not null,
salary varchar(100) default ‘20221108’ not null,
department_id varchar(100) default ‘20221108’ not null,
avg_salary varchar(100) default ‘20221108’ not null,
sum_salary varchar(100) default ‘20221108’ not null,
age varchar(100) default ‘20221108’ not null,
length_of_service varchar(100) default ‘20221108’ not null,
rank varchar(100) default ‘20221108’ not null,
workspace varchar(100) default ‘20221108’ not null,
hire_date varchar(100) default ‘20221108’ not null,
start_time varchar(100) default ‘20221108’ not null,
end_time varchar(100) default ‘20221108’ not null,
current varchar(100) default ‘20221108’ not null,
exchange_time varchar(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–number
– varchar(100) can’t be convert to number
– char(100) can’t be convert to number
– character(100) can’t be convert to number
– boolean can’t be convert to number
– character varying(100) can’t be convert to number
– char varying(100) can’t be convert to number
– nchar(100) can’t be convert to number
– date can’t be convert to number
– TIMESTAMP can’t be convert to number
– TIMESTAMP WITH TIME ZONE can’t be convert to number
– INTERVAL YEAR TO MONTH can’t be convert to number
– INTERVAL DAY TO SECOND can’t be convert to number
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name number default 2022 not null,
experience number default 2022 not null,
salary number default 2022 not null,
department_id number default 2022 not null,
avg_salary number default 2022 not null,
sum_salary number default 2022 not null,
age number default 2022 not null,
length_of_service number default 2022 not null,
rank number default 2022 not null,
workspace number default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–varchar2(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id varchar2(100) default ‘20221108’ not null,
first_name varchar2(100) default ‘20221108’ not null,
job_id varchar2(100) default ‘20221108’ not null,
sex varchar2(100) default ‘20221108’ not null,
is_manager varchar2(100) default ‘20221108’ not null,
hobby varchar2(100) default ‘20221108’ not null,
tele varchar2(100) default ‘20221108’ not null,
email varchar2(100) default ‘20221108’ not null,
experience varchar2(100) default ‘20221108’ not null,
salary varchar2(100) default ‘20221108’ not null,
department_id varchar2(100) default ‘20221108’ not null,
avg_salary varchar2(100) default ‘20221108’ not null,
sum_salary varchar2(100) default ‘20221108’ not null,
age varchar2(100) default ‘20221108’ not null,
length_of_service varchar2(100) default ‘20221108’ not null,
rank varchar2(100) default ‘20221108’ not null,
workspace varchar2(100) default ‘20221108’ not null,
hire_date varchar2(100) default ‘20221108’ not null,
start_time varchar2(100) default ‘20221108’ not null,
end_time varchar2(100) default ‘20221108’ not null,
current varchar2(100) default ‘20221108’ not null,
exchange_time varchar2(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–char(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id char(100) default ‘20221108’ not null,
first_name char(100) default ‘20221108’ not null,
last_name char(100) default ‘20221108’ not null,
sex char(100) default ‘20221108’ not null,
is_manager char(100) default ‘20221108’ not null,
hobby char(100) default ‘20221108’ not null,
tele char(100) default ‘20221108’ not null,
email char(100) default ‘20221108’ not null,
experience char(100) default ‘20221108’ not null,
salary char(100) default ‘20221108’ not null,
department_id char(100) default ‘20221108’ not null,
avg_salary char(100) default ‘20221108’ not null,
sum_salary char(100) default ‘20221108’ not null,
age char(100) default ‘20221108’ not null,
length_of_service char(100) default ‘20221108’ not null,
rank char(100) default ‘20221108’ not null,
workspace char(100) default ‘20221108’ not null,
hire_date char(100) default ‘20221108’ not null,
start_time char(100) default ‘20221108’ not null,
end_time char(100) default ‘20221108’ not null,
current char(100) default ‘20221108’ not null,
exchange_time char(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–character(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id character(100) default ‘20221108’ not null,
first_name character(100) default ‘20221108’ not null,
last_name character(100) default ‘20221108’ not null,
job_id character(100) default ‘20221108’ not null,
is_manager character(100) default ‘20221108’ not null,
hobby character(100) default ‘20221108’ not null,
tele character(100) default ‘20221108’ not null,
email character(100) default ‘20221108’ not null,
experience character(100) default ‘20221108’ not null,
salary character(100) default ‘20221108’ not null,
department_id character(100) default ‘20221108’ not null,
avg_salary character(100) default ‘20221108’ not null,
sum_salary character(100) default ‘20221108’ not null,
age character(100) default ‘20221108’ not null,
length_of_service character(100) default ‘20221108’ not null,
rank character(100) default ‘20221108’ not null,
workspace character(100) default ‘20221108’ not null,
hire_date character(100) default ‘20221108’ not null,
start_time character(100) default ‘20221108’ not null,
end_time character(100) default ‘20221108’ not null,
current character(100) default ‘20221108’ not null,
exchange_time character(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– others type can’t be convert to boolean
–character varying(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id character varying(100) default ‘20221108’ not null,
first_name character varying(100) default ‘20221108’ not null,
last_name character varying(100) default ‘20221108’ not null,
sex character varying(100) default ‘20221108’ not null,
is_manager character varying(100) default ‘20221108’ not null,
hobby character varying(100) default ‘20221108’ not null,
tele character varying(100) default ‘20221108’ not null,
email character varying(100) default ‘20221108’ not null,
experience character varying(100) default ‘20221108’ not null,
salary character varying(100) default ‘20221108’ not null,
department_id character varying(100) default ‘20221108’ not null,
avg_salary character varying(100) default ‘20221108’ not null,
sum_salary character varying(100) default ‘20221108’ not null,
age character varying(100) default ‘20221108’ not null,
length_of_service character varying(100) default ‘20221108’ not null,
rank character varying(100) default ‘20221108’ not null,
workspace character varying(100) default ‘20221108’ not null,
hire_date character varying(100) default ‘20221108’ not null,
start_time character varying(100) default ‘20221108’ not null,
end_time character varying(100) default ‘20221108’ not null,
current character varying(100) default ‘20221108’ not null,
exchange_time character varying(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–char varying(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id char varying(100) default ‘20221108’ not null,
first_name char varying(100) default ‘20221108’ not null,
last_name char varying(100) default ‘20221108’ not null,
sex char varying(100) default ‘20221108’ not null,
is_manager char varying(100) default ‘20221108’ not null,
hobby char varying(100) default ‘20221108’ not null,
tele char varying(100) default ‘20221108’ not null,
email char varying(100) default ‘20221108’ not null,
experience char varying(100) default ‘20221108’ not null,
salary char varying(100) default ‘20221108’ not null,
department_id char varying(100) default ‘20221108’ not null,
avg_salary char varying(100) default ‘20221108’ not null,
sum_salary char varying(100) default ‘20221108’ not null,
age char varying(100) default ‘20221108’ not null,
length_of_service char varying(100) default ‘20221108’ not null,
rank char varying(100) default ‘20221108’ not null,
workspace char varying(100) default ‘20221108’ not null,
hire_date char varying(100) default ‘20221108’ not null,
start_time char varying(100) default ‘20221108’ not null,
end_time char varying(100) default ‘20221108’ not null,
current char varying(100) default ‘20221108’ not null,
exchange_time char varying(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– nchar(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id nchar(100) default ‘20221108’ not null,
first_name nchar(100) default ‘20221108’ not null,
last_name nchar(100) default ‘20221108’ not null,
sex nchar(100) default ‘20221108’ not null,
is_manager nchar(100) default ‘20221108’ not null,
hobby nchar(100) default ‘20221108’ not null,
tele nchar(100) default ‘20221108’ not null,
email nchar(100) default ‘20221108’ not null,
experience nchar(100) default ‘20221108’ not null,
salary nchar(100) default ‘20221108’ not null,
department_id nchar(100) default ‘20221108’ not null,
avg_salary nchar(100) default ‘20221108’ not null,
sum_salary nchar(100) default ‘20221108’ not null,
age nchar(100) default ‘20221108’ not null,
length_of_service nchar(100) default ‘20221108’ not null,
rank nchar(100) default ‘20221108’ not null,
workspace nchar(100) default ‘20221108’ not null,
hire_date nchar(100) default ‘20221108’ not null,
start_time nchar(100) default ‘20221108’ not null,
end_time nchar(100) default ‘20221108’ not null,
current nchar(100) default ‘20221108’ not null,
exchange_time nchar(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– nvarchar2(100)
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
employee_id nvarchar2(100) default ‘20221108’ not null,
first_name nvarchar2(100) default ‘20221108’ not null,
last_name nvarchar2(100) default ‘20221108’ not null,
sex nvarchar2(100) default ‘20221108’ not null,
is_manager nvarchar2(100) default ‘20221108’ not null,
hobby nvarchar2(100) default ‘20221108’ not null,
tele nvarchar2(100) default ‘20221108’ not null,
email nvarchar2(100) default ‘20221108’ not null,
experience nvarchar2(100) default ‘20221108’ not null,
salary nvarchar2(100) default ‘20221108’ not null,
department_id nvarchar2(100) default ‘20221108’ not null,
avg_salary nvarchar2(100) default ‘20221108’ not null,
sum_salary nvarchar2(100) default ‘20221108’ not null,
age nvarchar2(100) default ‘20221108’ not null,
length_of_service nvarchar2(100) default ‘20221108’ not null,
rank nvarchar2(100) default ‘20221108’ not null,
workspace nvarchar2(100) default ‘20221108’ not null,
hire_date nvarchar2(100) default ‘20221108’ not null,
start_time nvarchar2(100) default ‘20221108’ not null,
end_time nvarchar2(100) default ‘20221108’ not null,
current nvarchar2(100) default ‘20221108’ not null,
exchange_time nvarchar2(100) default ‘20221108’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’,
‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–float
– varchar(100) can’t be convert to float
– char(100) can’t be convert to float
– character(100) can’t be convert to float
– boolean can’t be convert to float
– character varying(100) can’t be convert to float
– char varying(100) can’t be convert to float
– nchar(100) can’t be convert to float
– date can’t be convert to float
– TIMESTAMP can’t be convert to float
– TIMESTAMP WITH TIME ZONE can’t be convert to float
– INTERVAL YEAR TO MONTH can’t be convert to float
– INTERVAL DAY TO SECOND can’t be convert to float
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name float default 2022 not null,
experience float default 2022 not null,
salary float default 2022 not null,
department_id float default 2022 not null,
avg_salary float default 2022 not null,
sum_salary float default 2022 not null,
age float default 2022 not null,
length_of_service float default 2022 not null,
rank float default 2022 not null,
workspace float default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–real
– varchar(100) can’t be convert to real
– char(100) can’t be convert to real
– character(100) can’t be convert to real
– boolean can’t be convert to real
– character varying(100) can’t be convert to real
– char varying(100) can’t be convert to real
– nchar(100) can’t be convert to real
– date can’t be convert to real
– TIMESTAMP can’t be convert to real
– TIMESTAMP WITH TIME ZONE can’t be convert to real
– INTERVAL YEAR TO MONTH can’t be convert to real
– INTERVAL DAY TO SECOND can’t be convert to real
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name real default 2022 not null,
experience real default 2022 not null,
salary real default 2022 not null,
department_id real default 2022 not null,
avg_salary real default 2022 not null,
sum_salary real default 2022 not null,
age real default 2022 not null,
length_of_service real default 2022 not null,
rank real default 2022 not null,
workspace real default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–DOUBLE PRECISION
– varchar(100) can’t be convert to DOUBLE PRECISION
– char(100) can’t be convert to DOUBLE PRECISION
– character(100) can’t be convert to DOUBLE PRECISION
– boolean can’t be convert to DOUBLE PRECISION
– character varying(100) can’t be convert to DOUBLE PRECISION
– char varying(100) can’t be convert to DOUBLE PRECISION
– nchar(100) can’t be convert to DOUBLE PRECISION
– date can’t be convert to DOUBLE PRECISION
– TIMESTAMP can’t be convert to DOUBLE PRECISION
– TIMESTAMP WITH TIME ZONE can’t be convert to DOUBLE PRECISION
– INTERVAL YEAR TO MONTH can’t be convert to DOUBLE PRECISION
– INTERVAL DAY TO SECOND can’t be convert to DOUBLE PRECISION
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name DOUBLE PRECISION default 2022 not null,
experience DOUBLE PRECISION default 2022 not null,
salary DOUBLE PRECISION default 2022 not null,
department_id DOUBLE PRECISION default 2022 not null,
avg_salary DOUBLE PRECISION default 2022 not null,
sum_salary DOUBLE PRECISION default 2022 not null,
age DOUBLE PRECISION default 2022 not null,
length_of_service DOUBLE PRECISION default 2022 not null,
rank DOUBLE PRECISION default 2022 not null,
workspace DOUBLE PRECISION default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–integer
– varchar(100) can’t be convert to integer
– char(100) can’t be convert to integer
– character(100) can’t be convert to integer
– boolean can’t be convert to integer
– character varying(100) can’t be convert to integer
– char varying(100) can’t be convert to integer
– nchar(100) can’t be convert to integer
– date can’t be convert to integer
– TIMESTAMP can’t be convert to integer
– TIMESTAMP WITH TIME ZONE can’t be convert to integer
– INTERVAL YEAR TO MONTH can’t be convert to integer
– INTERVAL DAY TO SECOND can’t be convert to integer
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name integer default 2022 not null,
experience integer default 2022 not null,
salary integer default 2022 not null,
department_id integer default 2022 not null,
avg_salary integer default 2022 not null,
sum_salary integer default 2022 not null,
age integer default 2022 not null,
length_of_service integer default 2022 not null,
rank integer default 2022 not null,
workspace integer default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–int
– varchar(100) can’t be convert to int
– char(100) can’t be convert to int
– character(100) can’t be convert to int
– boolean can’t be convert to int
– character varying(100) can’t be convert to int
– char varying(100) can’t be convert to int
– nchar(100) can’t be convert to int
– date can’t be convert to int
– TIMESTAMP can’t be convert to int
– TIMESTAMP WITH TIME ZONE can’t be convert to int
– INTERVAL YEAR TO MONTH can’t be convert to int
– INTERVAL DAY TO SECOND can’t be convert to int
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name int default 2022 not null,
experience int default 2022 not null,
salary int default 2022 not null,
department_id int default 2022 not null,
avg_salary int default 2022 not null,
sum_salary int default 2022 not null,
age int default 2022 not null,
length_of_service int default 2022 not null,
rank int default 2022 not null,
workspace int default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–SMALLINT
– varchar(100) can’t be convert to SMALLINT
– char(100) can’t be convert to SMALLINT
– character(100) can’t be convert to SMALLINT
– boolean can’t be convert to SMALLINT
– character varying(100) can’t be convert to SMALLINT
– char varying(100) can’t be convert to SMALLINT
– nchar(100) can’t be convert to SMALLINT
– date can’t be convert to SMALLINT
– TIMESTAMP can’t be convert to SMALLINT
– TIMESTAMP WITH TIME ZONE can’t be convert to SMALLINT
– INTERVAL YEAR TO MONTH can’t be convert to SMALLINT
– INTERVAL DAY TO SECOND can’t be convert to int
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name SMALLINT default 2022 not null,
experience SMALLINT default 2022 not null,
salary SMALLINT default 2022 not null,
department_id SMALLINT default 2022 not null,
avg_salary SMALLINT default 2022 not null,
sum_salary SMALLINT default 2022 not null,
age SMALLINT default 2022 not null,
length_of_service SMALLINT default 2022 not null,
rank SMALLINT default 2022 not null,
workspace SMALLINT default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–DECIMAL
– varchar(100) can’t be convert to DECIMAL
– char(100) can’t be convert to DECIMAL
– character(100) can’t be convert to DECIMAL
– boolean can’t be convert to DECIMAL
– character varying(100) can’t be convert to DECIMAL
– char varying(100) can’t be convert to DECIMAL
– nchar(100) can’t be convert to DECIMAL
– date can’t be convert to DECIMAL
– TIMESTAMP can’t be convert to DECIMAL
– TIMESTAMP WITH TIME ZONE can’t be convert to DECIMAL
– INTERVAL YEAR TO MONTH can’t be convert to DECIMAL
– INTERVAL DAY TO SECOND can’t be convert to DECIMAL
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name DECIMAL default 2022 not null,
experience DECIMAL default 2022 not null,
salary DECIMAL default 2022 not null,
department_id DECIMAL default 2022 not null,
avg_salary DECIMAL default 2022 not null,
sum_salary DECIMAL default 2022 not null,
age DECIMAL default 2022 not null,
length_of_service DECIMAL default 2022 not null,
rank DECIMAL default 2022 not null,
workspace DECIMAL default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–numeric
– varchar(100) can’t be convert to numeric
– char(100) can’t be convert to numeric
– character(100) can’t be convert to numeric
– boolean can’t be convert to numeric
– character varying(100) can’t be convert to numeric
– char varying(100) can’t be convert to numeric
– nchar(100) can’t be convert to numeric
– date can’t be convert to numeric
– TIMESTAMP can’t be convert to numeric
– TIMESTAMP WITH TIME ZONE can’t be convert to numeric
– INTERVAL YEAR TO MONTH can’t be convert to numeric
– INTERVAL DAY TO SECOND can’t be convert to numeric
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name numeric default 2022 not null,
experience numeric default 2022 not null,
salary numeric default 2022 not null,
department_id numeric default 2022 not null,
avg_salary numeric default 2022 not null,
sum_salary numeric default 2022 not null,
age numeric default 2022 not null,
length_of_service numeric default 2022 not null,
rank numeric default 2022 not null,
workspace numeric default 2022 not null);
insert into employees values (
11, ‘ye’, 13, ‘SA_REP’, ‘girl’, true, ‘look book’, ‘18734524567’, ‘wert2345@qq’,
12, 12345.1, 20220201, 13564.23, 123456, 27, 4, 1, 20220301, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
–date
– varchar2, nvarchar2, TIMESTAMP,TIMESTAMP WITH TIME ZONE can be convert to date
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name date default TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’) not null,
experience date default TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’) not null,
hire_date date default TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’) not null,
start_time date default TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’) not null,
end_time date default TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’) not null);
insert into employees values (
‘20220101’, ‘ye’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’, ‘wert2345@qq’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– TIMESTAMP
– varchar2, nvarchar2, date, TIMESTAMP WITH TIME ZONE can be convert to TIMESTAMP
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
last_name TIMESTAMP default ‘2022-08-08 23:59:59’ not null,
experience TIMESTAMP default ‘2022-08-08 23:59:59’ not null,
hire_date TIMESTAMP default ‘2022-08-08 23:59:59’ not null,
start_time TIMESTAMP default ‘2022-08-08 23:59:59’ not null,
end_time TIMESTAMP default ‘2022-08-08 23:59:59’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘2022-08-08 23:59:59’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’, ‘wert2345@qq’, ‘2022-08-08 23:59:59’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– TIMESTAMP WITH TIME ZONE
– date, TIMESTAMP WITH TIME ZONE can be convert to TIMESTAMP WITH TIME ZONE
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
hire_date TIMESTAMP WITH TIME ZONE default ‘2022-08-08 23:59:59’ not null,
start_time TIMESTAMP WITH TIME ZONE default ‘2022-08-08 23:59:59’ not null,
end_time TIMESTAMP WITH TIME ZONE default ‘2022-08-08 23:59:59’ not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’, ‘wert2345@qq’, ‘not’, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– INTERVAL YEAR TO MONTH
– nvarchar2, INTERVAL DAY TO SECOND can be convert to INTERVAL YEAR TO MONTH
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
experience INTERVAL YEAR TO MONTH default INTERVAL ‘22’ YEAR TO MONTH not null, current INTERVAL YEAR TO MONTH default INTERVAL ‘22’ YEAR TO MONTH not null, exchange_time INTERVAL YEAR TO MONTH default INTERVAL ‘22’ YEAR TO MONTH not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’, ‘wert2345@qq’, INTERVAL ‘22’ YEAR TO MONTH, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;
– INTERVAL DAY TO SECOND
– nvarchar2, INTERVAL YEAR TO MONTH can be convert to INTERVAL DAY TO SECOND
create table employees(
employee_id number, first_name varchar(100),
last_name varchar2(100), job_id char(100),
sex character(100), is_manager boolean,
hobby character varying(100), tele char varying(100),
email nchar(100), experience nvarchar2(100),
salary float, department_id real,
avg_salary DOUBLE PRECISION, sum_salary integer,
age int, length_of_service SMALLINT,
rank DECIMAL, workspace numeric, hire_date date,
start_time TIMESTAMP, end_time TIMESTAMP WITH TIME ZONE,
current INTERVAL YEAR TO MONTH, exchange_time INTERVAL DAY TO SECOND);
alter table employees modify (
experience INTERVAL DAY TO SECOND default INTERVAL ‘3 2:25:45’ DAY TO SECOND not null, current INTERVAL DAY TO SECOND default INTERVAL ‘3 2:25:45’ DAY TO SECOND not null, exchange_time INTERVAL DAY TO SECOND default INTERVAL ‘3 2:25:45’ DAY TO SECOND not null);
insert into employees values (
‘20220101’, ‘ye’, ‘na’, ‘SA_REP’, ‘girl’, ‘true’, ‘look book’, ‘18734524567’, ‘wert2345@qq’, INTERVAL ‘22’ YEAR TO MONTH, ‘12345.1’, ‘20220201’, ‘13564.23’, ‘123456’, ‘27’, ‘4’, ‘1’, ‘20220301’, TO_DATE(‘31-DEC-2004’, ‘DD-MON-YYYY’), ‘2022-08-08 23:59:59’, SYSTIMESTAMP,INTERVAL ‘22’ YEAR TO MONTH, INTERVAL ‘3 2:25:45’ DAY TO SECOND);
drop table employees;

2、默认值与非空约束关系

–表中有数据,修改表的列属性为not null, 报错
create table test_modify(key1 int null,key2 int );
insert into test_modify values (1, 2);
alter table test_modify modify key1 char not null;
drop table test_modify;
–test1
create table test_modify(key1 int null,key2 int );
insert into test_modify(key2) values (2);
alter table test_modify modify key1 char not null; --fail
drop table test_modify;
–test1
create table test_modify(key1 int null,key2 int );
alter table test_modify modify key1 char not null;
insert into test_modify(key2) values (2); --fail
drop table test_modify;

3、修改的列名不支持ltaut、ltapk(为保留关键字)

–ltaut
create table test_modify(ltaut int null,key2 int ); --fail
alter table test_modify modify ltaut char not null; --fail
create table test_modify(key int null,LTaut int );
alter table test_modify modify LTaut char not null;
drop table test_modify;
–ltapk
create table test_modify(key1 int null,key2 int );
alter table test_modify modify ltapk smallint not null;
alter table test_modify modify ltapk integer not null;
alter table test_modify modify ltapk bigint not null;
drop table test_modify;

4、default 默认值填充 (打乱顺序出错,正确)

create table test_modify(key1 int null,key2 int );
alter table test_modify modify key1 varchar(100) default ‘thanks’ not null;
insert into test_modify(key2) values (33);
drop table test_modify;

不支持

1、CONSTRAINT name modify_constraintElem(单一使用支持,复合使用不支持)
modify_constraintElem用法:
(1) CHECK
(2) UNIQUE
(3) PRIMARY KEY
(4) REFERENCES
(5) NULL
(6) NOT NULL
2、ALTER TABLE test_modify MODIFY a(a为列名);
3、默认值后面跟on null

更多推荐

Lightdb22.3兼容oracle alter modify修改表字段类型、默认值、非空约束

本文发布于:2024-03-12 21:34:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732465.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表字   默认值   类型   oracle   modify

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!