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语句。