2017-06-14 46 views
0

我看代码,并一次又一次检查,真不知道是什么发生在我的代码,并在下面得到错误 -如果不存在开始更新插入错误

strSql=  "BEGIN if (not EXISTS (select empno tablenameA where empno = @empno)) " & _ 
      " begin " & _ 
      " Update tablenameA set ota_verifier = @ota_verifier, ota_approval = @ota_approval, ota_payroll = @ota_payroll, ota_hr = @ota_hr, " & _ 
      " ota_viewall = @ota_viewall, ota_HRMng = @ota_HRMng, ota_MD = @ota_MD, [email protected]_SP " & _ 
      " WHERE empno = @empno " & _ 
      " end " & _ 
      " else " & _ 
      " begin " & _ 
      " Insert INTO tablenameA (empno, ota_empname, ota_deptcode, ota_verifier, ota_approval, ota_payroll, ota_hr, ota_viewall, ota_AD, ota_HRMng, ota_MD, ota_SP) " & _ 
      " VALUES (@empno, @ota_empname, @ota_deptcode, @ota_verifier, @ota_approval, @ota_payroll, @ota_hr, @ota_viewall, @ota_AD, @ota_HRMng, @ota_MD, @ota_SP) " & _ 
      " end " & _ 
      " END " 

附近有语法错误。 ”。靠近关键字'else'的语法不正确。

回答

0

之间的FROM关键字**您需要添加来自**

strSql=  "BEGIN if (not EXISTS (select ota_empno FROM [GOGREEN].[dbo].[tbOvertimeAccess] where ota_empno = @ota_empno)) " & _ 
      " begin " & _ 
      " Update tbOvertimeAccess set ota_verifier = @ota_verifier, ota_approval = @ota_approval, ota_payroll = @ota_payroll, ota_hr = @ota_hr, " & _ 
      " ota_viewall = @ota_viewall, ota_HRMng = @ota_HRMng, ota_MD = @ota_MD, [email protected]_SP " & _ 
      " WHERE ota_empno = @ota_empno " & _ 
      " end " & _ 
      " else " & _ 
      " begin " & _ 
      " Insert INTO tbOvertimeAccess (ota_empno, ota_empname, ota_deptcode, ota_verifier, ota_approval, ota_payroll, ota_hr, ota_viewall, ota_AD, ota_HRMng, ota_MD, ota_SP) " & _ 
      " VALUES (@ota_empno, @ota_empname, @ota_deptcode, @ota_verifier, @ota_approval, @ota_payroll, @ota_hr, @ota_viewall, @ota_AD, @ota_HRMng, @ota_MD, @ota_SP) " & _ 
      " end " & _ 
      " END " 
0

好像你缺少empnotablenameA

strSql=  "BEGIN if (not EXISTS (select empno tablenameA where empno = @empno)) " 
0

试试这个:

strSql=  "BEGIN if (not EXISTS (select empno FROM tablenameA where empno = @empno)) " & _ 
      " begin " & _ 
      " Update tablenameA set ota_verifier = @ota_verifier, ota_approval = @ota_approval, ota_payroll = @ota_payroll, ota_hr = @ota_hr, " & _ 
      " ota_viewall = @ota_viewall, ota_HRMng = @ota_HRMng, ota_MD = @ota_MD, [email protected]_SP " & _ 
      " WHERE empno = @empno " & _ 
      " end " & _ 
      " else " & _ 
      " begin " & _ 
      " Insert INTO tablenameA (empno, ota_empname, ota_deptcode, ota_verifier, ota_approval, ota_payroll, ota_hr, ota_viewall, ota_AD, ota_HRMng, ota_MD, ota_SP) " & _ 
      " VALUES (@empno, @ota_empname, @ota_deptcode, @ota_verifier, @ota_approval, @ota_payroll, @ota_hr, @ota_viewall, @ota_AD, @ota_HRMng, @ota_MD, @ota_SP) " & _ 
      " end " & _ 
      " END " 
相关问题