使用where条件插入值


insert into dbo.Repository(STATE_CODE,ZIPCODE) 
values('SA','560064'), 
WHERE JOBDIVA_ID = '23-00871';

输出:

Msg 156, Level 15, State 1, Line 3
WHERE关键字附近语法错误。

将数据插入具有给定列名值条件的特定行的SQL命令。

假设T-SQL,这里有很多错误…

insert into 
dbo.Repository(STATE_CODE,ZIPCODE)  
values
('SA','560064'),  
WHERE 
JOBDIVA_ID = '23-00871';

正确的INSERT命令应该是(假设数据类型正确):

insert into 
dbo.Repository(STATE_CODE,ZIPCODE)  
values
('SA','560064');

主要问题是逗号后面跟着WHERE子句。

如果JOBDIVA_ID列是dbo的属性。表,那么看起来您想要一个UPDATE命令,它将是:

UPDATE 
dbo.Repository
SET
STATE_CODE = 'SA',
ZIPCODE = '560064'  
WHERE 
JOBDIVA_ID = '23-00871';

如果JOBDIVA_ID是另一个表的属性,那么您可能要查找:

insert into 
dbo.Repository(STATE_CODE,ZIPCODE)  
SELECT
STATE_CODE,ZIPCODE
FROM
<other table>  
WHERE 
JOBDIVA_ID = '23-00871';

或者甚至(这没有意义):

insert into 
dbo.Repository(STATE_CODE,ZIPCODE)  
SELECT
'SA' AS STATE_CODE,
'560064' AS ZIPCODE
FROM
<other table>  
WHERE 
JOBDIVA_ID = '23-00871';

在插入语句中,您不会有一个现有的行来执行where子句。必须根据数据条件

使用update语句。

最新更新