这是我的代码:
INSERT INTO HCSERVREC (COMP_CD, JOBTL_CD, emp_no,from_dt,service_type)
values ( '1',( if NOT EXISTS(
SELECT 1
FROM SDOPTTABLE
WHERE OPTTABLENO = '324'
AND OPTTABLEVAL = '00883578'
)
BEGIN
INSERT INTO SDOPTTABLE (
comp_cd
,opttableno
,opttableval
,optname
,dt_stamp
)
VALUES (
'1'
,'324'
,'00883578'
,'STOCKROOM ATTENDANT'
,getdate()
)
END
SELECT *
FROM SDOPTTABLE
WHERE OPTTABLENO = '324'
AND OPTTABLEVAL = '00883578'),'1234567','0','123456')
这些是我收到的错误消息:
消息156,级别15,状态1,第2行
关键字'if'附近的语法错误。消息102,级别15,状态1,第28行
')'附近的语法不正确。
我要做的就是在插入数据输入之前进行验证。如何正确执行操作?
仅供参考,当我用单个数据替换if语句时,sql可以正常工作,即使我独立运行IF语句也可以正常工作。两者结合时的问题。
谢谢。
首先检查,然后插入
IF NOT EXISTS(
SELECT 1
FROM SDOPTTABLE
WHERE OPTTABLENO = '324'
AND OPTTABLEVAL = '00883578'
)
BEGIN
INSERT INTO SDOPTTABLE (
comp_cd
,opttableno
,opttableval
,optname
,dt_stamp
)
VALUES (
'1'
,'324'
,'00883578'
,'STOCKROOM ATTENDANT'
,getdate()
)
END
INSERT INTO HCSERVREC (COMP_CD, JOBTL_CD, emp_no,from_dt,service_type)
SELECT '1',
(SELECT * -- select only the required column. You cannot use * here
FROM SDOPTTABLE
WHERE OPTTABLENO = '324'
AND OPTTABLEVAL = '00883578'),
'1234567',
'0',
'123456'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句