Oracle SQL Developer将我的注释视为命令

Oracle SQL Developer将我的注释视为命令,第1张

概述我已经创建了一些非常基本的SQL脚本: /* Change date format*/alter session set nls_date_format='DD/MM/YYYY';/* Drop old tables (if exists)*/DROP TABLE Students;/* Create new tables*/CREATE TABLE Student 我已经创建了一些非常基本的sql脚本:

/*  Change date format*/alter session set nls_date_format='DD/MM/YYYY';/*  Drop old tables (if exists)*/DROP table Students;/*  Create new tables*/CREATE table Students  (    ID NUMBER(6) PRIMARY KEY,Lastname VARCHAR2(20),Firstname VARCHAR2(10),Address VARCHAR2(10),BirthDay DATE,GroupID NUMBER(3)  );/*  Check the table was created successfully*/DESC Students;/*  Insert a new record to the table*/INSERT INTO Students VALUES(101,'Solin','Dan','Beer-Sheva','01/02/1985',11);/*  Check the record was inserted succesfully*/SELECT * FROM Students;/*  Add 'AvgMark' fIEld to the table with default of 0*/ALTER table Students ADD AvgMark NUMBER(5,2) DEFAulT 0;/*  Check that the new fIEld was added*/DESC Students; /*  Insert 3 new records to the table*/INSERT INTO Students VALUES(102,'Tal','Ruti','Tel-Aviv','10/07/1988',12,70);INSERT INTO Students VALUES(103,'Kohen','Yossi','Dimona','01/08/1987',11,80);INSERT INTO Students VALUES(104,'Toys','Vered','15/09/1988',90);/*  Check the records were inserted succesfully*/SELECT * FROM Students;/*  Change 'Address' data type to VARCHAR2(15)*/ALTER table Students MODIFY Address VARCHAR2(15);/*  Check that the data type has changed*/DESC Students; -- Some comment

在脚本输出结束时,我收到此错误消息:
错误:对象COMMENT不存在

如果我将注释更改为Hello World,我将获得WORLD“object”的相同错误…

我更改了整个脚本以避免单行注释,结果是一样的.

在这个例子中我可以再次避免它,但我真的想了解是什么导致了这个奇怪的问题……

可能有助于解决问题的另一件事是我在同一个脚本中出现的另一个奇怪的错误,在评论上方几行.在这一行:
ALTER table学生修改地址VARCHAR2(15);

sql Developer在最后两个字符(右括号和分号)下显示错误,指出语法错误.部分认可的规则(铁路图):……

如果我将运行该声明它将工作得很好……

解决方法 这似乎是一个sql Developer错误/功能.

desc [ribe]是sql Worksheet支持的sql * Plus语句之一.

https://docs.oracle.com/cd/E11882_01/doc.112/e12152/intro.htm#RPTUG10710

在sql Developer中,我们可以注意到sql * Plus中不存在的一些有趣的现象:
1.
 当给出多个令牌时,除最后一个令牌外,所有令牌都被忽略.

desc some gibberish - yada yada yada t3
name Null Type       ---- ---- ---------- C3        NUMBER(38)

2. – 不被视为行注释的符号,而是作为对象名称.

desc --
ERROR:                          ------------------------------- ERROR: object -- does not exist

3.
单个分号被忽略,不被视为语句终止符.

desc ; ; ; ; ; ; t1;
name Null Type       ---- ---- ---------- C1        NUMBER(38)

因此,当给出命令时 –

DESC Students; -- Some comment

由于没有对象’comment’,因此只处理最后一个令牌’comment’并产生错误.

总结

以上是内存溢出为你收集整理的Oracle SQL Developer将我的注释视为命令全部内容,希望文章能够帮你解决Oracle SQL Developer将我的注释视为命令所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1164641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存