QUESTION 25
You need to create a table with the following column specifications:
1. Employee ID (numeric data type) for each employee
2. Employee Name (character data type) that stores the employee name
3. Hire date, which stores the date of joining the organization for each employee
4. Status (character data type), that contains the value 'ACTIVE' if no data is entered
5. Resume (character large object [CLOB] data type), which contains the resume submitted by the employee
Which is the correct syntax to create this table?
A. CREATE TABLE EMP_1
(emp_id NUMBER(4),
emp_name VARCHAR2(25),
start_date DATE,
e_status VARCHAR2(10) DEFAULT 'ACTIVE',
resume CLOB(200));
B. CREATE TABLE 1_EMP
(emp_id NUMBER(4),
emp_name VARCHAR2(25),
start_date DATE,
emp_status VARCHAR2(10) DEFAULT 'ACTIVE',
resume CLOB);
C. CREATE TABLE EMP_1
(emp_id NUMBER(4),
emp_name VARCHAR2(25),
start_date DATE,
emp_status VARCHAR2(10) DEFAULT "ACTIVE",
resume CLOB);
D. CREATE TABLE EMP_1
(emp_id NUMBER,
emp_name VARCHAR2(25),
start_date DATE,
emp_status VARCHAR2(10) DEFAULT 'ACTIVE',
resume CLOB);
答案:D
解析:
--A选项错误,不能指定CLOB字段精度
SQL> CREATE TABLE EMP_1
2 (emp_id NUMBER(4),
3 emp_name VARCHAR2(25),
4 start_date DATE,
5 e_status VARCHAR2(10) DEFAULT 'ACTIVE',
6 resume CLOB(200));
resume CLOB(200))
*
ERROR at line 6:
ORA-00907: missing right parenthesis
--B选项错误,不能使用数字开头的表名
SQL> CREATE TABLE 1_EMP
2 (emp_id NUMBER(4),
3 emp_name VARCHAR2(25),
4 start_date DATE,
5 emp_status VARCHAR2(10) DEFAULT 'ACTIVE',
6 resume CLOB);
CREATE TABLE 1_EMP
*
ERROR at line 1:
ORA-00903: invalid table name
--C选项错误,DEFAULT后面加的是单引号
SQL> CREATE TABLE EMP_1
2 (emp_id NUMBER(4),
3 emp_name VARCHAR2(25),
4 start_date DATE,
5 emp_status VARCHAR2(10) DEFAULT "ACTIVE",
6 resume CLOB);
emp_status VARCHAR2(10) DEFAULT "ACTIVE",
*
ERROR at line 5:
ORA-00984: column not allowed here
--D选项正确
SQL> CREATE TABLE EMP_1
2 (emp_id NUMBER,
3 emp_name VARCHAR2(25),
4 start_date DATE,
5 emp_status VARCHAR2(10) DEFAULT 'ACTIVE',
6 resume CLOB);
Table created.