SQL Server:如何在insert语句中使用if语句

果冻

这是我的代码:

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在SQL INSERT语句中使用PHP / HTML中的变量

来自分类Dev

如何在SQL case语句中使用> =条件?

来自分类Dev

如何在SQL WITH语句中使用表?

来自分类Dev

如何在FOR循环语句中使用动态SQL?

来自分类Dev

如何在SQL UPDATE语句中使用IF条件?

来自分类Dev

如何在switch语句中使用Sql表数据?

来自分类Dev

如何在SQL Server更新语句中使用MAX函数

来自分类Dev

如何在第二个SQL语句中使用SQL语句的结果?| 的PHP

来自分类Dev

如何在sql和php中的“ SELECT DISTINCT CASE WHEN”语句中使用“ ORDER BY”语句?

来自分类Dev

如何在WHERE子句中使用SELECT语句编写SQL DELETE语句?

来自分类Dev

如何在内部 sql 语句中使用准备好的语句?

来自分类Dev

在SQL语句中使用IF

来自分类Dev

如何在 SQL Server 数据库的 where 子句中使用基于日期获取数据的 case 语句

来自分类Dev

如何在SQL Server中使用CASE语句

来自分类Dev

如何在PL / SQL代码或SQL语句中使用REF数据类型?

来自分类Dev

在SQL Server中使用IF ELSE(要放在IF语句中的内容)

来自分类Dev

在 SQL Server 的 WHERE 子句中使用 CASE 语句

来自分类Dev

在 SQL Server 的 case 语句中使用 set

来自分类Dev

如何在使用 LIKE 的 SQL 语句中使用绑定值?

来自分类Dev

如何使用MySql在sql语句中使用SELECT CASE

来自分类Dev

如何在 SQL Server SELECT 语句中获取以前的值

来自分类Dev

如何在SQL语句中使用count(*)和除法运算

来自分类Dev

如何在bash脚本中连接字符串以在SQL语句中使用?

来自分类Dev

如何在R中创建可在函数和sql语句中使用的全局变量?

来自分类Dev

如何在更新语句中使用SQL变量递增

来自分类Dev

如何在SQL WHERE IN语句中的R中使用字符串

来自分类Dev

如何在bash脚本中连接字符串以在SQL语句中使用?

来自分类Dev

如何在SQL 2000的where子句中使用case语句

来自分类Dev

Oracle 11:如何在SQL语句中使用较少的解码

Related 相关文章

  1. 1

    如何在SQL INSERT语句中使用PHP / HTML中的变量

  2. 2

    如何在SQL case语句中使用> =条件?

  3. 3

    如何在SQL WITH语句中使用表?

  4. 4

    如何在FOR循环语句中使用动态SQL?

  5. 5

    如何在SQL UPDATE语句中使用IF条件?

  6. 6

    如何在switch语句中使用Sql表数据?

  7. 7

    如何在SQL Server更新语句中使用MAX函数

  8. 8

    如何在第二个SQL语句中使用SQL语句的结果?| 的PHP

  9. 9

    如何在sql和php中的“ SELECT DISTINCT CASE WHEN”语句中使用“ ORDER BY”语句?

  10. 10

    如何在WHERE子句中使用SELECT语句编写SQL DELETE语句?

  11. 11

    如何在内部 sql 语句中使用准备好的语句?

  12. 12

    在SQL语句中使用IF

  13. 13

    如何在 SQL Server 数据库的 where 子句中使用基于日期获取数据的 case 语句

  14. 14

    如何在SQL Server中使用CASE语句

  15. 15

    如何在PL / SQL代码或SQL语句中使用REF数据类型?

  16. 16

    在SQL Server中使用IF ELSE(要放在IF语句中的内容)

  17. 17

    在 SQL Server 的 WHERE 子句中使用 CASE 语句

  18. 18

    在 SQL Server 的 case 语句中使用 set

  19. 19

    如何在使用 LIKE 的 SQL 语句中使用绑定值?

  20. 20

    如何使用MySql在sql语句中使用SELECT CASE

  21. 21

    如何在 SQL Server SELECT 语句中获取以前的值

  22. 22

    如何在SQL语句中使用count(*)和除法运算

  23. 23

    如何在bash脚本中连接字符串以在SQL语句中使用?

  24. 24

    如何在R中创建可在函数和sql语句中使用的全局变量?

  25. 25

    如何在更新语句中使用SQL变量递增

  26. 26

    如何在SQL WHERE IN语句中的R中使用字符串

  27. 27

    如何在bash脚本中连接字符串以在SQL语句中使用?

  28. 28

    如何在SQL 2000的where子句中使用case语句

  29. 29

    Oracle 11:如何在SQL语句中使用较少的解码

热门标签

归档