Я использую Visual Basic 6.0 с SQL Server 2005
Вот мой код:
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 & "'"
Это вставка в оператор выбора и работает нормально. Два входа непосредственно сохраняются в таблице [schedule] и один вход поступает из таблицы [scheduletype].
Но что, если нет соответствующих записей для cboSchedtype.Text?
SELECT st_id
FROM scheduletype
WHERE st_name = '" & cboSchedtype.Text & "'"
Вот что я хочу сделать:
I. Сделайте 'sub-insert' для значения cboSchedtype.Text в таблице [scheduletype], только если он не существует (до того, как основной запрос вставки сделает свое дело)
II. В противном случае продолжайте в обычном режиме. (Мой код успешно делает это.)