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 PLS-00103遇到了符号_Sql_Oracle - Fatal编程技术网

Sql PLS-00103遇到了符号

Sql PLS-00103遇到了符号,sql,oracle,Sql,Oracle,我已经尝试寻找这种类型的错误。我在其他人身上也有类似的错误,但问题不同。请帮我解决这个问题,这个示例oracle查询的好方法是什么 create type Exams ( year char(4), city varchar(20) ) create table exams of type Exams create OR REPLACE type Skills AS OBJECT( type varchar(20), ExamSet Exams multiset ); / c

我已经尝试寻找这种类型的错误。我在其他人身上也有类似的错误,但问题不同。请帮我解决这个问题,这个示例oracle查询的好方法是什么

create type Exams (
    year char(4),
    city varchar(20)
)
create table exams of type Exams 

create OR REPLACE type Skills AS OBJECT(
type varchar(20),
ExamSet Exams multiset
);
/
create table skills of Skills;
以下是脚本输出中的错误:

LINE/COL  ERROR
--------- -------------------------------------------------------------
1/12      PLS-00103: Encountered the symbol "(" when expecting one of the following:     ; is authid as compress force compiled wrapped under 
Errors: check compiler log
尝试:

修正:

  • 将类型
    创建为对象
    ;这将为您提供一个抽象数据类型(ADT),它实际上可以保存属性-请参阅

  • create type
    语句的末尾需要一个分号和斜杠

  • 表不能与类型同名

  • CREATE TABLE
    的语法错误

要在此表中插入,通常使用以下语句:

insert into Exams values( ExamsType('2018', 'my adress') );
这将有助于:

CREATE TABLE new_table
  AS (SELECT *
      FROM old_table WHERE 1=2);
对于您的情况,情况如下:

CREATE TABLE exams 
  AS (SELECT *
      FROM Exams WHERE 1=2);

对于
1=2
,它不选择任何行,而是使用
as
复制表定义。

使用分号;终止每个语句。查找
创建类型
,似乎需要在左括号前添加一个关键字AS或is或UNDER。谢谢!!如果可以的话,我会把它加在上面Welcome@Quequequee!我刚刚添加了最后一个带有“multiset”的东西。再次感谢你!!
CREATE TABLE exams 
  AS (SELECT *
      FROM Exams WHERE 1=2);