create 语句的语法是相同的,数据类型是不同的。
但使用子查询建立表的语法是不同的。
SQL SERVER上使用子查询建立的语句:
SELECT empno, ename, sal*12 ANNSAL, hiredate into dept30 FROM emp WHERE deptno = 30;
ORACLE 上使用了查询建立表的:
CREATE TABLE dept30
AS
SELECT empno, ename, sal*12 ANNSAL, hiredate
FROM emp
WHERE deptno = 30;
SELECT empno, ename, sal*12 ANNSAL, hiredate
FROM emp
WHERE deptno = 30;
DB2 上使用了查询建立表的:
1.create table dept30 as ( SELECT empno, ename, sal*12 ANNSAL, hiredate FROM emp WHERE deptno = 30 ) definition only;
2.insert into dept30 SELECT empno, ename, sal*12 ANNSAL, hiredate FROM emp WHERE deptno = 30;
在DB2 里也可以使用这个语句来复制表中的数据。Copy table: create table emp_bak like emp;
修改表的语句对比:
SQL SERVER上增加列的语句:
ALTER TABLE dept30
ADD job VARCHAR(9);
ORACLE上增加列的语句:
ALTER TABLE dept30
ADD (job VARCHAR2(9));
DB2上增加列的语句:
ALTER TABLE dept30
ADD job VARCHAR(9);
SQL SERVER上修改列的语句:
ALTER TABLE dept30
ALTER column ename VARCHAR(15);
ORACLE上修改列的语句:
ALTER TABLE dept30
MODIFY (ename VARCHAR2(15));
DB2上修改列的语句:
D:ALTER TABLE dept30
ALTER column ename set data type VARCHAR(15);
本文详细对比了SQLSERVER、ORACLE、DB2三种数据库管理系统下使用子查询建立表以及修改表语句的具体语法差异,涵盖了创建新表、增加列、修改列等操作。
210

被折叠的 条评论
为什么被折叠?



