diff options
author | Greg Aker <greg@gregaker.net> | 2011-09-23 10:37:15 +0200 |
---|---|---|
committer | Greg Aker <greg@gregaker.net> | 2011-09-23 10:37:15 +0200 |
commit | 1ccbb8afa8ab5060d7bdb7a22c640302fe80d226 (patch) | |
tree | b1d623995a34c7331b0ae6b00ba6fc0d6ac81996 | |
parent | 8ff4623fcd2d0d2fcde10831ce9fbc857eb2347a (diff) | |
parent | b83c4088829207af39e862d6252eff393bc71642 (diff) |
Merge pull request #479 from narfbg/ci-oci-insert-batch
Add $this->db->insert_batch() support to the OCI8 (Oracle) driver
-rw-r--r-- | system/database/drivers/oci8/oci8_driver.php | 30 | ||||
-rw-r--r-- | user_guide/changelog.html | 1 |
2 files changed, 30 insertions, 1 deletions
diff --git a/system/database/drivers/oci8/oci8_driver.php b/system/database/drivers/oci8/oci8_driver.php index d4c27fa43..1cf063ec1 100644 --- a/system/database/drivers/oci8/oci8_driver.php +++ b/system/database/drivers/oci8/oci8_driver.php @@ -643,6 +643,34 @@ 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 +804,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 */ diff --git a/user_guide/changelog.html b/user_guide/changelog.html index b9c1b6094..7742fb8a8 100644 --- a/user_guide/changelog.html +++ b/user_guide/changelog.html @@ -91,6 +91,7 @@ Change Log <li> Added additional option 'none' for the optional third argument for <kbd>$this->db->like()</kbd> in the <a href="database/active_record.html">Database Driver</a>. </li> + <li>Added <kbd>$this->db->insert_batch()</kbd> support to the OCI8 (Oracle) driver.</li> </ul> </li> <li>Libraries |