привет!
пытаюсь сделать такой запрос, который: 1)выполняет проверку на существование, 2)если не существует — вставляет, 3)если существует — селектит
по первым двум: в первом случае должен возвращать 0, иначе — 1
особо интересно, как это сделать одним запросом к БД при условии что то, что проверяем/вставляем — могут быть более одного поля.
к примеру, имеем такие строки:
string a
string b
string c
запрос должен(в псевдокоде):
func = (string h, int id) {
if h exists {
return (true, select id);
} else {
insert (h, id);
return (false, id);
}
}
struct {
pair(bool, int) res_a;
pair(bool, int) res_b;
pair(bool, int) res_c;
} res = {
func('rohgreiuehgreigheih', 33),
func('srdkrughrewiugheiue', 33),
func('yuiruywrtbrqynbgngb', 33)
};
старался объяснить как мог...
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)