其实这个也是OCA当中的一道题,Oracle规定创建表名和列名的时候只能包含如下字符
1).A-Z
2).a-z
3).0-9
4)._
5).#
6).$
最后Oracle两个不推荐,并且不能是保留字
不过我记不清楚表名是否可以使用数字开头,所以咱们来试一试
1).A-Z
2).a-z
3).0-9
4)._
5).#
6).$
最后Oracle两个不推荐,并且不能是保留字
不过我记不清楚表名是否可以使用数字开头,所以咱们来试一试
1).首先创建一个标准表
SQL> CREATE TABLE HR.EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
Table created.
SQL> CREATE TABLE HR.EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
Table created.
成功啦
2).把表名前面加上一个数字
SQL> CREATE TABLE HR.007EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.007EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00922: missing or invalid option
不可以
3).表明前面加一个#或者$
SQL> CREATE TABLE HR.#EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.#EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
2).把表名前面加上一个数字
SQL> CREATE TABLE HR.007EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.007EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00922: missing or invalid option
3).表明前面加一个#或者$
SQL> CREATE TABLE HR.#EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.#EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
SQL> CREATE TABLE HR.$EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.$EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
CREATE TABLE HR.EMP_002 ( 123EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00904: : invalid identifier
失败鸟
5).以$或者#开头呢?
SQL> CREATE TABLE HR.EMP_002 ( $EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.EMP_002 ( $EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
SQL> CREATE TABLE HR.EMP_002 ( #EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
2 ;
CREATE TABLE HR.EMP_002 ( #EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
也不行,所以这个和表名一样,必须以字符开头
CREATE TABLE HR.$EMP_001 ( EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
也不行
所以得出结论,表明必须是字符开头
下面咱们来试一下列名
4).列名以数字开头
SQL> CREATE TABLE HR.EMP_002 ( 123EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
所以得出结论,表明必须是字符开头
下面咱们来试一下列名
4).列名以数字开头
CREATE TABLE HR.EMP_002 ( 123EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00904: : invalid identifier
失败鸟
5).以$或者#开头呢?
SQL> CREATE TABLE HR.EMP_002 ( $EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER);
CREATE TABLE HR.EMP_002 ( $EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
SQL> CREATE TABLE HR.EMP_002 ( #EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
2 ;
CREATE TABLE HR.EMP_002 ( #EMP_NAME VARCHAR2(30),BIRTH_DATE DATE , JOBID NUMBER)
*
ERROR at line 1:
ORA-00911: invalid character
也不行,所以这个和表名一样,必须以字符开头
补充一句,一个TABLE最多可以有1000列
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8747612/viewspace-1870254/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8747612/viewspace-1870254/