Документация для разработчиков

RunSqlBatch

mixed
CDatabase::RunSqlBatch(
 string path,
 bool Incremental = False
)

Метод выполняет пакет запросов из файла path. Возвращает "false", если все запросы выполнились, или массив ошибок для запросов которые привели к ошибке. Нестатический метод.

Параметры

ПараметрОписание С версии
path Файл с пакетом запросов. Для MySQL версии запросы разделяются символом ";", для Oracle версии разделитель "/".
Incremental Необязательный. По умолчанию False.3.1.0

См. также

Пример вызова функции

<?
$arrErrors = $DB->RunSqlBatch($_SERVER["DOCUMENT_ROOT"].
"/bitrix/modules/form/install/db/".strtolower($DB->type)."/install.sql");
?>

Пример файла c запросами для MySQL

create table if not exists b_stat_adv_searcher (
   ID int(11) not null auto_increment,  
   ADV_ID int(11) not null,  
   SEARCHER_ID int(11) not null,  
   primary key (ID));
insert  into b_stat_adv (ID, REFERER1, REFERER2) values (1, 'aport', '') ;
insert  into b_stat_adv_searcher (ID, ADV_ID, SEARCHER_ID) values (1, 2, 4) ;

Пример файла c запросами для Oracle

CREATE TABLE B_STAT_ADDITIONAL 
(
    ID         NUMBER(18)    NOT NULL,
    C_TYPE     VARCHAR2(255) NOT NULL,
    NAME       NUMBER(18)    NULL,
    SESSIONS   NUMBER(18)    DEFAULT 0 NOT NULL,
    HITS       NUMBER(18)    DEFAULT 0 NOT NULL,
    NEW_GUESTS NUMBER(18)    DEFAULT 0 NOT NULL,
    C_EVENTS   NUMBER(18)    DEFAULT 0 NOT NULL,
    PRIMARY KEY (ID)
)
/
CREATE SEQUENCE SQ_B_STAT_ADDITIONAL 
	START WITH 44 
	INCREMENT BY 1 
	NOMINVALUE 
	NOMAXVALUE 
	NOCYCLE 
	NOCACHE 
	NOORDER
/
INSERT INTO B_STAT_ADV (ID, REFERER1, REFERER2) VALUES (1, 'aport', '')
/
DROP SEQUENCE SQ_B_STAT_ADV
/
CREATE SEQUENCE SQ_B_STAT_ADV 
	START WITH 8 
	INCREMENT BY 1 
	NOMINVALUE 
	NOMAXVALUE 
	NOCYCLE 
	NOCACHE 
	NOORDER
/
INSERT INTO B_STAT_ADV_SEARCHER (ID, ADV_ID, SEARCHER_ID) VALUES (1, 2, 4)
/


© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх