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’?