Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在Oracle中使用列的默认值创建表_Sql_Oracle_Syntax Error_Ddl_Create Table - Fatal编程技术网

Sql 在Oracle中使用列的默认值创建表

Sql 在Oracle中使用列的默认值创建表,sql,oracle,syntax-error,ddl,create-table,Sql,Oracle,Syntax Error,Ddl,Create Table,运行此查询时: Create table ACCT_MSTR ("Acct_no" varchar2 (10) NOT NULL PRIMARY KEY, "SF_no" varchar2 (10), "LF_no" varchar2 (10), "Branch_no" varchar2 (10), "Intro_Cust_no" varchar2 (10), "Intro_Acct_no" varchar2 (10), "Intro_sign" varchar2 (1), "T

运行此查询时:

Create table ACCT_MSTR 
("Acct_no" varchar2 (10) NOT NULL PRIMARY KEY,
 "SF_no" varchar2 (10),
 "LF_no" varchar2 (10),
 "Branch_no" varchar2 (10),
 "Intro_Cust_no" varchar2 (10),
 "Intro_Acct_no" varchar2 (10),
 "Intro_sign" varchar2 (1),
 "Type" Varchar2 (2),
 "Opr_mode" varchar2 (2),
 "Cust_accut_type" varchar2 (4),
 "Title" varchar2 (30),
 "Corp_Cust_no" varchar2 (10),
 "Aplndt" Date,
 "Opendt" Date,
 "Veri_Emp_no" VARCHAR2 (10),
 "Veri_sign" varchar2 (1),
 "Manager_sign" varchar2 (1),
 "Curbal" NUMBER(8,2),
 "Status" varchar2 (1) DEFAULT (A),
CONSTRAINT Am_Bn_fk FOREIGN KEY("Branch_no") references BRANCH_MSTR ("Branch_no"),
CONSTRAINT  Am_Icn_fk FOREIGN KEY("Intro_Cust_no") references CUST_MSTR ("Cust_no"),
CONSTRAINT  Am_Ian_fk FOREIGN KEY("Intro_Acct_no") references ACCT_MSTR ("Acct_no"),
CONSTRAINT Am_ccn_fk FOREIGN KEY("Corp_Cust_no") references CUST_MSTR ("Cust_no"),
CONSTRAINT  Am_ven_fk FOREIGN KEY("Veri_Emp_no") references EMP_MSTR ("Emp_no") 
);
我得到这个错误:

SQL错误:ORA-00984:此处不允许列
98400000-“此处不允许使用列”


问题在于
“Status”
列的默认值。SQL中的字符串常量用单引号(
)表示。如果没有它们,裸词将被解释为对象名,这在上下文中是不允许的

要使长话短说,请在默认值中添加引号,您应该可以:

"Status" varchar2 (1) DEFAULT ('A'),
-- Here -----------------------^-^

字符串常量需要用单引号括起来。任何不带引号的内容都是标识符

因此,
A

"Status" varchar2 (1) DEFAULT (A),
引用名为“a”的列

你想要

"Status" varchar2 (1) DEFAULT ('A'),
“状态”VARCHAR2(1)默认值(A)是什么意思?可能是‘A’?