if (SELECT * FROM SDOPTTABLE WHERE OPTTABLENO = '324' AND OPTTABLEVAL = '00883578') = null
insert into SDOPTTABLE(comp_cd, opttableno, opttableval, optname, dt_stamp)
values ('1','324','00883578','STOCKROOM ATTENDANT',getdate())
SELECT * FROM SDOPTTABLE WHERE OPTTABLENO = '324' AND OPTTABLEVAL = '00883578'
else
(SELECT * FROM SDOPTTABLE WHERE OPTTABLENO = '324' AND OPTTABLEVAL = '00883578')
Я хочу снова «выбрать» из таблицы «SDOPTTABLE» после проверки и уже вставленного ввода данных, которого не было.SQL Server: как выполнить сразу два действия?
Может ли кто-нибудь показать мне правильный метод для этого? Благодарю.
код я
INSERT INTO HCSERVREC (COMP_CD, JOBTL_CD, JOBGD_CD)
select '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'), '[$9]'
вы можете указать мне место неправильно?
Две вещи: ** (1) ** не использовать '= NULL' для проверки нуль - используйте' IS NULL' (или 'IS NOT NULL') вместо этого! И ** (2) **, если вы хотите выполнить более одного оператора в ветке 'IF', вам нужно поместить свои операторы в блок' BEGIN ..... END' –
IF EXISTS() - приятный один здесь ... Я должен признать, что, когда дело доходит до ввода процедурного (if/else) кода в SQL, я обычно начинаю думать, что я делаю что-то не так и возвращаться, чтобы узнать, что это такое – Liath