Udostępnij przez


Aktualizowanie danych za pomocą polecenia SQLBulkOperations

Aplikacje mogą wykonywać operacje zbiorczej aktualizacji, usuwania, pobierania lub wstawiania w tabeli bazowej w źródle danych za pomocą wywołania metody SQLBulkOperations. Wywoływanie metody SQLBulkOperations jest wygodną alternatywą do konstruowania i wykonywania instrukcji SQL. Umożliwia obsługę sterowników ODBC z aktualizacjami pozycyjnymi, nawet wtedy, gdy źródło danych nie obsługuje pozycyjnych instrukcji SQL. Jest to część paradygmatu osiągania pełnego dostępu do bazy danych za pomocą wywołań funkcji.

Operacje SQLBulkOperations działają w bieżącym zestawie wierszy i mogą być używane tylko po wywołaniu metody SQLFetch lub SQLFetchScroll. Aplikacja określa wiersze do aktualizowania, usuwania lub odświeżania, przechowując ich zakładki w pamięci podręcznej. Sterownik pobiera nowe dane dla wierszy do zaktualizowania lub nowe dane do wstawienia do tabeli bazowej z zestawu wierszy.

Rozmiar zestawu wierszy, który ma być używany przez SQLBulkOperations, jest ustawiany wywołaniem SQLSetStmtAttr z argumentem Attribute SQL_ATTR_ROW_ARRAY_SIZE. W przeciwieństwie do SQLSetPos, który używa nowego rozmiaru zestawu wierszy tylko po wywołaniu do SQLFetch lub SQLFetchScroll, SQLBulkOperations używa nowego rozmiaru zestawu wierszy po wywołaniu do SQLSetStmtAttr.

Ponieważ większość interakcji z relacyjnymi bazami danych odbywa się za pośrednictwem języka SQL, program SQLBulkOperations nie jest powszechnie obsługiwany. Sterownik może jednak łatwo emulować go, tworząc i wykonując instrukcję UPDATE, DELETE lub INSERT .

Aby określić, jakie operacje obsługuje sqlBulkOperation , aplikacja wywołuje polecenie SQLGetInfo z SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_KEYSET_CURSOR_ATTRIBUTES1 lub SQL_STATIC_CURSOR_ATTRIBUTES1 opcji informacji (w zależności od typu kursora).

Ta sekcja zawiera następujące tematy.