Fórum Problema na execussão de script com o IBScript #242299
09/07/2004
0
Boa tarde pessoal, trabalho em D7 e Firebird 1.5
tenho um problema na execussão de script. Quanto mando atualização de base para meus clientes mandou um exe que contem um script que conecta na base e executa um IBScript com uma atualização qualquer. O problema é que se eu já tenho a tabela ou um campo que contem na atualização ele dá o erro(dizendo que já existe) e não segue com a execussão do script para executar os comandos que estáo na sequencia do mesmo. Uso delimitador ´;´ ........Abaixo coloquei um fragmento do meu script para dar uma idéia do que esta acontecendo. Como citei, qdo executar o script no cliente, se a base dele já tiver a tabela AGENDA ele da erro(Já existe) e náo segue com a execussão dos demais comandos.
ALguém pode me ajudar ???
Obrigadoooooo !
/*CREATE TABLE*/
CREATE TABLE ´AGENDA´ (´CRM´ INTEGER NOT NULL);
/*ADD FIELDS*/
ALTER TABLE ´AGENDA´ ADD ´DT_AGENDA´ DATE NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´HR_INICIO´ TIME NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´PADRAO´ CHAR(1) DEFAULT ´1´ NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´SERIAL´ VARCHAR(30) NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´CD_TP_AGENDA´ INTEGER;
ALTER TABLE ´AGENDA´ ADD ´HR_FIM´ TIME;
ALTER TABLE ´AGENDA´ ADD ´DS_AGENDA´ VARCHAR(250);
ALTER TABLE ´AGENDA´ ADD ´STATUS_AGENDA´ CHAR(1) DEFAULT ´A´;
ALTER TABLE ´AGENDA´ ADD ´CD_PAC´ INTEGER DEFAULT 0;
ALTER TABLE ´AGENDA´ ADD ´CD_CONVENIO´ INTEGER;
ALTER TABLE ´AGENDA´ ADD ´FONE´ VARCHAR(20);
ALTER TABLE ´AGENDA´ ADD ´N_ATEND´ FLOAT DEFAULT 0;
ALTER TABLE ´AGENDA´ ADD ´ATEND_ENCERRADO´ BOOLEAN DEFAULT ´N´;
ALTER TABLE ´AGENDA´ ADD ´EXCLUSIVO´ BOOLEAN;
ALTER TABLE ´AGENDA´ ADD ´CD_FUNC´ INTEGER;
ALTER TABLE ´AGENDA´ ADD ´INTERVALO´ TIME;
ALTER TABLE ´AGENDA´ ADD ´AUTOMACAO´ BOOLEAN DEFAULT ´N´;
/*ADD INDEX AND CONSTRAINTS*/
ALTER TABLE ´AGENDA´ ADD CONSTRAINT ´PK_AGENDA´ PRIMARY KEY (´CRM´,´DT_AGENDA´,´HR_INICIO´,´PADRAO´,´SERIAL´);
CREATE INDEX ´AGENDA_CDPAC´ ON ´AGENDA´ ´CD_PAC´;
CREATE INDEX ´AGENDA_NATEND´ ON ´AGENDA´ ´N_ATEND´;
CREATE INDEX ´AGENDA_CRM´ ON ´AGENDA´ ´CRM´;
CREATE INDEX ´AGENDA_CRM_HRINICIO´ ON ´AGENDA´ ´CRM´,´HR_INICIO´;
CREATE INDEX ´AGENDA_CRM_DTAGENDA_HRINICIO´ ON ´AGENDA´ ´CRM´,´DT_AGENDA´,´HR_INICIO´;
CREATE INDEX ´AGENDA_CRM_DTAGENDA_CDPAC´ ON ´AGENDA´ ´CRM´,´DT_AGENDA´,´CD_PAC´;
CREATE INDEX ´AGENDA_CRM_DT_HR_SERIAL´ ON ´AGENDA´ ´CRM´,´DT_AGENDA´,´HR_INICIO´,´SERIAL´;
CREATE INDEX ´AGENDA_CDCONVENIO´ ON ´AGENDA´ ´CD_CONVENIO´;
/*ALTER FIELDS*/
/*ALTERA INDEX AND CONSTRAINTS*/
/*REMOVE FIELDS*/
/*REMOVE INDEX AND CONSTRAINTS*/
tenho um problema na execussão de script. Quanto mando atualização de base para meus clientes mandou um exe que contem um script que conecta na base e executa um IBScript com uma atualização qualquer. O problema é que se eu já tenho a tabela ou um campo que contem na atualização ele dá o erro(dizendo que já existe) e não segue com a execussão do script para executar os comandos que estáo na sequencia do mesmo. Uso delimitador ´;´ ........Abaixo coloquei um fragmento do meu script para dar uma idéia do que esta acontecendo. Como citei, qdo executar o script no cliente, se a base dele já tiver a tabela AGENDA ele da erro(Já existe) e náo segue com a execussão dos demais comandos.
ALguém pode me ajudar ???
Obrigadoooooo !
/*CREATE TABLE*/
CREATE TABLE ´AGENDA´ (´CRM´ INTEGER NOT NULL);
/*ADD FIELDS*/
ALTER TABLE ´AGENDA´ ADD ´DT_AGENDA´ DATE NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´HR_INICIO´ TIME NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´PADRAO´ CHAR(1) DEFAULT ´1´ NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´SERIAL´ VARCHAR(30) NOT NULL;
ALTER TABLE ´AGENDA´ ADD ´CD_TP_AGENDA´ INTEGER;
ALTER TABLE ´AGENDA´ ADD ´HR_FIM´ TIME;
ALTER TABLE ´AGENDA´ ADD ´DS_AGENDA´ VARCHAR(250);
ALTER TABLE ´AGENDA´ ADD ´STATUS_AGENDA´ CHAR(1) DEFAULT ´A´;
ALTER TABLE ´AGENDA´ ADD ´CD_PAC´ INTEGER DEFAULT 0;
ALTER TABLE ´AGENDA´ ADD ´CD_CONVENIO´ INTEGER;
ALTER TABLE ´AGENDA´ ADD ´FONE´ VARCHAR(20);
ALTER TABLE ´AGENDA´ ADD ´N_ATEND´ FLOAT DEFAULT 0;
ALTER TABLE ´AGENDA´ ADD ´ATEND_ENCERRADO´ BOOLEAN DEFAULT ´N´;
ALTER TABLE ´AGENDA´ ADD ´EXCLUSIVO´ BOOLEAN;
ALTER TABLE ´AGENDA´ ADD ´CD_FUNC´ INTEGER;
ALTER TABLE ´AGENDA´ ADD ´INTERVALO´ TIME;
ALTER TABLE ´AGENDA´ ADD ´AUTOMACAO´ BOOLEAN DEFAULT ´N´;
/*ADD INDEX AND CONSTRAINTS*/
ALTER TABLE ´AGENDA´ ADD CONSTRAINT ´PK_AGENDA´ PRIMARY KEY (´CRM´,´DT_AGENDA´,´HR_INICIO´,´PADRAO´,´SERIAL´);
CREATE INDEX ´AGENDA_CDPAC´ ON ´AGENDA´ ´CD_PAC´;
CREATE INDEX ´AGENDA_NATEND´ ON ´AGENDA´ ´N_ATEND´;
CREATE INDEX ´AGENDA_CRM´ ON ´AGENDA´ ´CRM´;
CREATE INDEX ´AGENDA_CRM_HRINICIO´ ON ´AGENDA´ ´CRM´,´HR_INICIO´;
CREATE INDEX ´AGENDA_CRM_DTAGENDA_HRINICIO´ ON ´AGENDA´ ´CRM´,´DT_AGENDA´,´HR_INICIO´;
CREATE INDEX ´AGENDA_CRM_DTAGENDA_CDPAC´ ON ´AGENDA´ ´CRM´,´DT_AGENDA´,´CD_PAC´;
CREATE INDEX ´AGENDA_CRM_DT_HR_SERIAL´ ON ´AGENDA´ ´CRM´,´DT_AGENDA´,´HR_INICIO´,´SERIAL´;
CREATE INDEX ´AGENDA_CDCONVENIO´ ON ´AGENDA´ ´CD_CONVENIO´;
/*ALTER FIELDS*/
/*ALTERA INDEX AND CONSTRAINTS*/
/*REMOVE FIELDS*/
/*REMOVE INDEX AND CONSTRAINTS*/
Andreehrig
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)