diff options
author | Andrey Andreev <narf@bofh.bg> | 2011-09-23 02:07:01 +0200 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2011-09-23 02:07:01 +0200 |
commit | 99c6dd49e61c463499d1e50945ac29a3f383ec48 (patch) | |
tree | 86af872ded504d334d54464ada505a471afe4dc4 /system/database | |
parent | a4fac6b8ac17b6864e632fe821b650291a9d4c42 (diff) |
Add ->db->insert_batch() support to the OCI8 (Oracle) driver
Diffstat (limited to 'system/database')
-rw-r--r-- | system/database/drivers/oci8/oci8_driver.php | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php index d4c27fa43..33991ab53 100644 --- a/system/database/drivers/oci8/oci8_driver.php +++ b/system/database/drivers/oci8/oci8_driver.php @@ -643,6 +643,32 @@ class CI_DB_oci8_driver extends CI_DB { // -------------------------------------------------------------------- /** + * Insert_batch statement + * + * Generates a platform-specific insert string from the supplied data + * + * @access public + * @param string the table name + * @param array the insert keys + * @param array the insert values + * @return string + */ + function _insert_batch($table, $keys, $values) + { + $keys = implode(', ', $keys); + $sql = "INSERT ALL\n"; + + for ($i = 0, $c = count($values); $i < $c; $i++) + $sql .= ' INTO ' . $table . ' (' . $keys . ') VALUES ' . $values[$i] . "\n"; + + $sql .= 'SELECT * FROM dual'; + + return $sql; + } + + // -------------------------------------------------------------------- + + /** * Update statement * * Generates a platform-specific update string from the supplied data @@ -776,4 +802,4 @@ class CI_DB_oci8_driver extends CI_DB { /* End of file oci8_driver.php */ -/* Location: ./system/database/drivers/oci8/oci8_driver.php */
\ No newline at end of file +/* Location: ./system/database/drivers/oci8/oci8_driver.php */ |