mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-06 15:02:47 +08:00
Db类增加批处理执行sql操作方法
This commit is contained in:
@@ -441,6 +441,33 @@ abstract class Driver
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批处理执行SQL语句
|
||||||
|
* 批处理的指令都认为是execute操作
|
||||||
|
* @access public
|
||||||
|
* @param array $sql SQL批处理指令
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function batchQuery($sql = [])
|
||||||
|
{
|
||||||
|
if (!is_array($sql)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// 自动启动事务支持
|
||||||
|
$this->startTrans();
|
||||||
|
try {
|
||||||
|
foreach ($sql as $_sql) {
|
||||||
|
$result = $this->execute($_sql);
|
||||||
|
}
|
||||||
|
// 提交事务
|
||||||
|
$this->commit();
|
||||||
|
} catch (\PDOException $e) {
|
||||||
|
$this->rollback();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将SQL语句中的__TABLE_NAME__字符串替换成带前缀的表名(小写)
|
* 将SQL语句中的__TABLE_NAME__字符串替换成带前缀的表名(小写)
|
||||||
* @access protected
|
* @access protected
|
||||||
|
|||||||
@@ -211,6 +211,6 @@ class Oracle extends Driver
|
|||||||
*/
|
*/
|
||||||
protected function getExplain($sql)
|
protected function getExplain($sql)
|
||||||
{
|
{
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -129,6 +129,6 @@ class Pgsql extends Driver
|
|||||||
*/
|
*/
|
||||||
protected function getExplain($sql)
|
protected function getExplain($sql)
|
||||||
{
|
{
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,6 +110,6 @@ class Sqlite extends Driver
|
|||||||
*/
|
*/
|
||||||
protected function getExplain($sql)
|
protected function getExplain($sql)
|
||||||
{
|
{
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,6 +195,6 @@ class Sqlsrv extends Driver
|
|||||||
*/
|
*/
|
||||||
protected function getExplain($sql)
|
protected function getExplain($sql)
|
||||||
{
|
{
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user