Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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失败了?(ORA-00933:SQL命令未正确结束)_Sql_Oracle_Oracle10g - Fatal编程技术网

为什么我的SQL失败了?(ORA-00933:SQL命令未正确结束)

为什么我的SQL失败了?(ORA-00933:SQL命令未正确结束),sql,oracle,oracle10g,Sql,Oracle,Oracle10g,为什么我的SQL失败了?我想它的格式是正确的,但它给我带来了一个错误 INSERT INTO NBOT_USERS (ID,LAST_NAME,FIRST_NAME) VALUES (1002, 'Smith', 'John') WHERE 1002 NOT IN (SELECT IT_ID FROM NBOT_USERS); Insert查询没有where子句,除非您正在执行Insert。。。从中选择,在这种情况下,选择部分中可能有wher

为什么我的SQL失败了?我想它的格式是正确的,但它给我带来了一个错误

    INSERT INTO NBOT_USERS
       (ID,LAST_NAME,FIRST_NAME)
    VALUES
       (1002, 'Smith', 'John')
    WHERE 1002 NOT IN (SELECT IT_ID FROM NBOT_USERS);

Insert查询没有where子句,除非您正在执行
Insert。。。从
中选择,在这种情况下,选择部分中可能有where子句。

插入查询没有where子句,除非您正在执行
插入。。。从中选择,在这种情况下,SELECT部分中可能有where子句。

使用您的模式:

INSERT INTO NBOT_USERS (ID,LAST_NAME,FIRST_NAME)
Select 1002, 'Smith', 'John' 
  From dual
  WHERE 1002 NOT IN (SELECT  FROM NBOT_USERS);

使用您的模式:

INSERT INTO NBOT_USERS (ID,LAST_NAME,FIRST_NAME)
Select 1002, 'Smith', 'John' 
  From dual
  WHERE 1002 NOT IN (SELECT  FROM NBOT_USERS);

那么我怎样才能做一个有条件的测试呢?例如…仅允许在表中尚不存在ID时插入?(这不是PK,PK实际上是一个序列号,因此此处不显示)选择以查看ID是否存在,如果不存在则插入。您还必须应用一些锁,以防止任何并行进程从您下面盗取ID。我不确定其语法是什么,请您提供一个简短的示例,那么我如何才能执行条件验证?例如…仅允许在表中尚不存在ID时插入?(这不是PK,PK实际上是一个序列号,因此此处不显示)选择以查看ID是否存在,如果不存在则插入。您还必须应用一些锁,以防止任何并行进程从您下面窃取ID。我不确定这将是什么语法,请您提供一个简短的示例?