我使用Visual Basic 6.0与SQL Server 2005SQL插入SELECT语句
这里是我的代码:
Cn.Execute "INSERT INTO schedule (sch_name, st_id, sch_note)
SELECT '" & txtSchedname.Text & "', st_id, '" & txtNote.Text & "'
FROM scheduletype
WHERE st_name = '" & cboSchedtype.Text & "'"
这是一个INSERT INTO SELECT语句,并能正常工作。直接保存到[schedule]表中的两个输入和来自[scheduletype]表的一个输入。
但是如果cboSchedtype.Text没有匹配的记录怎么办?
SELECT st_id
FROM scheduletype
WHERE st_name = '" & cboSchedtype.Text & "'"
这是我想做的事:
I.作出cboSchedtype.Text的值到[scheduletype]表中的“子插入”,只有当它不存在(之前的主插入查询确实如此)
二。否则正常继续。 (我的代码成功地做到这一点。)
我想你想使用[MERGE](http://technet.microsoft.com/en-us/library/bb510625.aspx)语句。 – ain
哦,顺便说一句,我使用SQL Server 2005. Merge是一个2008语法。 – ELM
您的查询很容易受到SQL注入攻击。 –