acho melhor dropar a constraint e fazer ela com a clausula on delete Em Quinta 08 Fevereiro 2007 17:30, Joe Rabelo escreveu: > Se vc nao criou a chave estrangeira com a clausula "on delete cascade", vc > nao vai precisar deletar todos os dados das tabelas q se relacionam com > dados da sua tabela principal. > > Uma forma seria: > > delete from <tabela_estrangeira> > where <id_tabela_estrangeira> = ( > select <id_tabela_estrangeira> > from tb_colaborador > where nm_colaborador = '$nome_colaborador' or login = > '$login_colaborador' > ); > > Vc deve fazer isto para todas as tabelas que se relacionam com > a "tb_colaborador". > > Vai ficar meio lento se sua tabela tiver muitos dados, mas resolve seu > problema > > On 2/8/07, Milena Leite <[EMAIL PROTECTED]> wrote: > > Eu tenho cinco tabelas e relaciono elas através da palavra *references > > *não sei se esta certo, quando comecei a fazer esse sistema não sabia > > nada de PostgreSQL e muito menos de PHP e ainda tive que fazer tudo por > > um script então é bem possivel mesmo que tenha erros.. > > > > tem uma outra tabela a qual uso dados desta que passei.. > > > > $resultado_andamento = pg_query($connect, "CREATE TABLE > > tb_andamento(id_andamento SERIAL NOT NULL, id_tarefa integer REFERENCES > > tb_tarefa, id_colaborador integer REFERENCES tb_colaborador, data date, > > hora_inicio time, hora_fim time, comentario varchar(300), PRIMARY > > KEY(id_andamento))"); > > > > será que tá certo !? > > > > > > > > Em 08/02/07, joao cosme de oliveira junior <[EMAIL PROTECTED]> > > > > escreveu: > > > na criacao da tabela > > > pelo q eu estou vendo vc nao esta relacionando as tabelas, se e q esta > > > tabela > > > logicamente possui relacionamentos > > > > > > Em Quinta 08 Fevereiro 2007 16:39, Milena Leite escreveu: > > > > Bem, estou fazendo tudo atraves de script, por causa de um problema > > > > > > que deu > > > > > > > no servidor..então criei da seguinte forma: > > > > > > > > $resultado_colaborador = pg_query($connect, "CREATE TABLE > > > > tb_colaborador(id_colaborador SERIAL NOT NULL, nm_colaborador > > > > > > varchar(80), > > > > > > > email varchar(50), nivel integer, login varchar(30), senha > > > > > > varchar(100), > > > > > > > PRIMARY KEY(id_colaborador))"); > > > > > > > > Fiz apenas isso... > > > > > > > > *João* esse código eu coloco na criação da tabela ou qaundo eu vou > > > > > > deletar > > > > > > > alguma informação ? > > > > > > > > > > > > Em 08/02/07, joao cosme de oliveira junior < > > > > [EMAIL PROTECTED]> > > > > > > > > escreveu: > > > > > isso e quando vc cria suas constraints na tabela > > > > > > > > > > constraint nome (cod_tabela) references tabela on delete cascade; > > > > > > > > > > Em Quinta 08 Fevereiro 2007 16:20, Milena Leite escreveu: > > > > > > Boa Tarde ! > > > > > > > > > > > > Então acho que: ou eu configurei errado ou esta dando outro erro > > > > > > com > > > > > > > > > relação a isso.. > > > > > > vou colocar o erro aqui.. > > > > > > > > > > > > *Warning*: pg_query() > > > > > > [function.pg-query< > > > > > > > > > > http://192.168.0.29/teste/C%C3%B3pia%20de%20SISTEMA/func > > > > > > > > > > >tion.pg-query>]: Query failed: ERROR: update or delete on > > > > > > > > > > "tb_colaborador" > > > > > > > > > > > violates foreign key constraint > > > > > > "tb_andamento_id_colaborador_fkey" > > > > > > on > > > > > > > > > "tb_andamento" DETAIL: Key (id_colaborador)=(10) is still > > > > > > referenced > > > > > > > > from > > > > > > > > > > > table "tb_andamento". in *D:\Inetpub\teste\Cópia de > > > > > > SISTEMA\executa.php* > > > > > > > > > > on > > > > > > > > > > > line *19* > > > > > > Ocorreu um erro! > > > > > > > > > > > > > > > > > > o que sera ? > > > > > > > > > > > > Em 08/02/07, Ulisses <[EMAIL PROTECTED]> escreveu: > > > > > > > Boa tarde! > > > > > > > > > > > > > > Se você configurou a chave estrangeira corretamente, não vai > > > > > > > ter problema. Manda o comando para deletar o registro da tabela > > > > > > Mestre, > > > > > > > > que > > > > > > > > > > > > os registros da Tabela Detalhe vão ser excluídos também. > > > > > > > > > > > > > > Boa sorte. > > > > > > > > > > > > > > Ulisses > > > > > > > > > > > > > > ----- Original Message ----- > > > > > > > *From:* Milena Leite <[EMAIL PROTECTED]> > > > > > > > *To:* Grupo de Usuários do PostgreSQL no > > > > > > > Brasil<[email protected]> *Sent:* Thursday, > > > > > > > February > > > > > > 08, > > > > > > > > 2007 > > > > > > > > > > > > 3:50 PM > > > > > > > *Subject:* [PostgreSQL-Brasil] deletar chave estrangeira > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Olá, > > > > > > > > > > > > > > > > > > > > > Queria saber como faço para excuir um dado que é chave > > > > > > > > > > estrangeira..assim > > > > > > > > > > > > como o drop cascade quando vamos deletar tabelas... > > > > > > > > > > > > > > meu código esta assim: > > > > > > > > > > > > > > delete > > > > > > > from tb_colaborador > > > > > > > where nm_colaborador = '$nome_colaborador' or login = > > > > > > > '$login_colaborador' > > > > > > > > > > > > > > []s > > > > > > > > > > > > > > -- > > > > > > > Milena Leite > > > > > > > > > > > > > > ------------------------------ > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Grupo de Usuários do PostgreSQL no Brasil > > > > > > > Antes de perguntar consulte o manual > > > > > > > http://pgdocptbr.sourceforge.net/ > > > > > > > > > > > > > > Para editar suas opções ou sair da lista acesse a página da > > > > > > lista em: > > > > > > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > Grupo de Usuários do PostgreSQL no Brasil > > > > > > > Antes de perguntar consulte o manual > > > > > > > http://pgdocptbr.sourceforge.net/ > > > > > > > > > > > > > > Para editar suas opções ou sair da lista acesse a página da > > > > > > lista em: > > > > > > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios > > > > > > > > > > _______________________________________________ > > > > > Grupo de Usuários do PostgreSQL no Brasil > > > > > Antes de perguntar consulte o manual > > > > > http://pgdocptbr.sourceforge.net/ > > > > > > > > > > Para editar suas opções ou sair da lista acesse a página da lista > > > > > > em: > > > > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios > > > > > > _______________________________________________ > > > Grupo de Usuários do PostgreSQL no Brasil > > > Antes de perguntar consulte o manual > > > http://pgdocptbr.sourceforge.net/ > > > > > > Para editar suas opções ou sair da lista acesse a página da lista em: > > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios > > > > -- > > Milena Leite > > _______________________________________________ > > Grupo de Usuários do PostgreSQL no Brasil > > Antes de perguntar consulte o manual > > http://pgdocptbr.sourceforge.net/ > > > > Para editar suas opções ou sair da lista acesse a página da lista em: > > http://pgfoundry.org/mailman/listinfo/brasil-usuarios _______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
