ThinkPHP3.2.3批量执行sql语句(带事务)

/**
* 事务封装方法
* @access public 将此方法放入框架model.class.php中
* @param array $sqls 要执行的sql数组或语句
* @param array $vals sql语句中要替换的值
* @return boolean
*/
public function transExecuteSql($sqls)
{
  $this->startTrans();
  if(is_array($sqls))
{
foreach($sqls as $k => $sql)
{
  $result=$this->db->execute($sql);
  if(!$result)
  {
    $this->rollBack();
    return false;
  }
}
}else{
  $result=$this->db->execute($sqls);
  if(!$result)
  {
    $this->rollBack();
    return false;
  }
}
  $this->commit();
  return true;
}

时间: 2024-08-16 02:06:54

ThinkPHP3.2.3批量执行sql语句(带事务)的相关文章

SQL*PLUS中批量执行SQL语句

SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书),最后将所有的SQL语句一次性的执行完成. 首先,将要执行的所有的SQL语句,全部写入某个sql文件当中.例如f:\test.sql; 然后,通过通过sqlplus连接到数据库:如: SQL> sqlplus test/[email protected]; 再执行如下命令: SQL> @f:\te

mysqli扩展库应用---批量执行sql语句

1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语句的集合,查询语句和增删改最好不要混合.应用示例如下: ① 操作数据库的代码: <?php class mysqliMutiTool{ private $mysqli = null; private static $host = "10.252.158.217"; private s

批量执行sql语句

基本使用 $sqls="sql语句1;sql语句2;sql语句n"; 或 $sqls="insert into xx;";  $sqls.="insert into xx;"; $res=mysqli::multi_query($sqls); 如果$sqls 是dml 语句,则$res 返回布尔值: 如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result() 和 mysqli::more_re

JDBC连接MYSQL,批量执行SQL语句或在执行一个SQL语句之前执行一个SQL语句

conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("truncate QB_ShowCount_Asite_copy"); ps.executeBatch(); String SrcSql = "select convert(unhex(hex(convert(Community using latin1))) using utf8) as Commu

批量执行SQL语句,进行删除,插入或者更改。

private bool ExecuteTransaction(List<string> list) { using (SqlConnection connection = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["LocalConnectionString"].ToString())) { SqlCommand command = new SqlCommand(); S

向Oracle中传入数组,批量执行SQL语句

1.首先用PL/SQL创建package 1 create or replace package excuteBatchOperate 2 as 3 type sqlStr_Array is table of varchar2(1000) index by binary_integer; 4 procedure excuteBulkData(sqlStr in sqlStr_Array); 5 end excuteBatchOperate; 2.在packagebody内创建存储过程 1 cre

mysql工具Navicat批量执行SQL语句

例如:我现在要同时执行这么多语句 update community set xqmc=replace(xqmc,' ',''); update community set xqbm=replace(xqbm,' ',''); update community set dkxx=replace(dkxx,' ',''); update community set ssqy=replace(ssqy,' ',''); update community set ssjd=replace(ssjd,'

MySQL中批量执行SQL语句

DROP DATABASE IF EXISTS databaseWeb; -- 如果存在,则删除模式 databaseWebCREATE DATABASE databaseWeb CHARACTER SET utf8; -- 创建模式 databaseWeb.使用 utf8 编码 USE databaseWeb; -- 切换到模式 databaseWeb,以下操作均在 databaseWeb 下 set NAMES 'utf8'; -- 控制台使用 utf8 编码,若使用gbk编码则会使插入中文

jdbc批量执行SQL insert 操作

package com.file; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; public class ResolvFile { public static String readFileContent(String filepath) { //1.读取每一行记录,保存到List中 ArrayList<String> records = new ArrayList&