Użytkownik podaje zapytanie np. SELECT * FROM DBO.TABLE WHERE ID = 1
i teraz jak rozpoznać czy jest to query czy non-query bez wyszukiwania słów kluczowych i bez odpytywania bany danych?
najprościej to jak zaczyna się od select
to query, a cała reszta nonquery. Ale to pokrywa może z 95% przypadków. Masz jeszcze np. INSERT INTO ... VALIES ... RETURNING ...
, które powinieneś otworzyć jako query
abrakadaber napisał(a):
najprościej to jak zaczyna się od
select
to query, a cała reszta nonquery. Ale to pokrywa może z 95% przypadków. Masz jeszcze np.INSERT INTO ... VALIES ... RETURNING ...
, które powinieneś otworzyć jako query
a co z WITH aa AS (...
? albo jak zapytanie zacznie się od IF...
A jaki masz przypadek użycia? Może wystarczy po prostu nie commitować tej transakcji?
Aleksander Brzozowski napisał(a):
A jaki masz przypadek użycia? Może wystarczy po prostu nie commitować tej transakcji?
piszę bibliotekę w R do komunikacji z bazami danych przez jsp. O ile przy odbc nie ma znaczenia czy jest to query czy non-query o tyle przy jdbc przy query trzeba wywołać inną funkcję niż przy non-query. Chcę by użytkownik mojej biblioteki nie musiał myśleć czy zapytanie puścić za pomocą sqlSend
czy sqlGet
przy jdbc przy query trzeba wywołać inną funkcję niż przy non-query
nie trzeba
Trzeźwy Kaczor napisał(a):
przy jdbc przy query trzeba wywołać inną funkcję niż przy non-query
nie trzeba
trzeba.