当前位置: 首页 > 面试题库 >

为什么会出现此SQL / DB错误?

程禄
2023-03-14
问题内容

我正在尝试使用DB2运行一个简单的SQL语句,并且遇到了一些问题。我想在txt / db2文件中有一个脚本,并让引擎处理所有命令

这是脚本:

CONNECT TO MYDB

CREATE TABLE PERSONS(
     PID SMALLINT NOT NULL,
     NAME VARCHAR(20) NOT NULL
)

TERMINATE

当我运行db2 -f / pathtofile时,我得到:

SQL0104N  An unexpected token "(" was found following "CREATE TABLE PERSONS".  
Expected tokens may include:  "END-OF-STATEMENT".  SQLSTATE=42601

我究竟做错了什么?我的脚本有问题吗?另外,为什么没有“;”也能正常工作 我的陈述结尾处的终止符?

谢谢,


问题答案:

可能会有帮助,
http://www.uc.edu/R/r25/documentation/Version3.2/install_instructions.pdf:

脚本使用分号(;)终止每个SQL命令。如果使用DB2命令行处理器,则应记住使用``-t’‘标志。

如果不使用-t标志,则
在运行db2ct32.sql脚本时将得到诸如以下错误:
create table“淎CCOUNTS”。(
DB21034E由于该命令不是SQL语句,因此已被处理为SQL语句。一个
有效的命令行处理器命令。在SQL处理期间,它返回:
SQL0104N在“表”“ CCOUNTS”之后发现了意外的标记“。”。
预期的标记可能包括:““ ND-OF-STATEMENT””。 。SQLSTATE = 42601

因此,我将添加分号并使用-t switch调用它所代表的任何废话。
我调查了样本,他们使用类似

db2 -tf "pathtofile"

也有

db2 -tvf "pathtofile"

您可能会得到更多诊断信息。
不要将专有软件推到极限,它们没有那么宽。



 类似资料:
  • 问题内容: 我正在执行以下AJAX调用: 而且没有收到预期的警报消息。相反,Firebug说我收到“未实现501”。 为什么?我需要怎么做才能解决此问题? 如果我转到Firebug中与AJAX调用相对应的URL,则会下载一个JSON文件,其中包含预期的数据。 我注意到的一件事是,萤火虫说的是OPTIONS而不是GET: 替代文字http://grab.by/grabs/b1a13d92a4fc69

  • 错误:第 1 行的解析错误:函数搜索(sour ^ 期望“字符串”、“数字”、“空”、“真”、“假”、“{”、“[”,得到“未定义” 代码:

  • 问题内容: 执行以下方法时: 被扔。这可能是什么原因? 问题答案: 这可能是什么原因? 我不知道其余的内容,但是我遇到的大多数PC使用8位或16位的“位深度”,而使用24位。它表示非常精细的记录质量。如果8位是“电话质量”,而16位是“ CD质量”,则24位将是“主录音质量”。

  • 我实现了以下REST调用: 也是一个提供和使用application/x-protobuf的提供者类: 我的pom。xml看起来像: 我的小部件。原型: 选项java_package=“example”;选项java\u outer\u classname=“WidgetsProtoc”; 对于http://localhost:8080/RESTfulExample/widgets我得到以下错误消

  • 问题内容: 我已经阅读了 为什么在尝试在数据库中加载Blob时会出现java.lang.AbstractMethodError?,下载了我能找到的所有11g jdbc驱动程序,并将它们作为库和/或jar文件添加到了我的NetBeans应用程序中。我仍然不断收到相同的AbstractMethodError,这让我很生气!任何指导将不胜感激! 错误信息: 问题答案: 问题的原因是软件不兼容(jar文件

  • 问题内容: 因此,最近几天我一直在尝试解决此错误。我有一个存储过程,将一个条目插入到我的登台表中。一旦登台表插入了一行,就会触发一个触发器,该触发器将数据加载到其他两个表中。我的触发代码如下: 问题答案: 错误消息非常清楚:为null,并且您的表在column上具有NOT NULL约束。因此这可以使Oracle正常工作,并执行表上定义的数据完整性规则。 因此,您需要做的是找出为什么为空的原因。它为