- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 10 anos, 7 meses atrás por rman.
-
AutorPosts
-
9 de maio de 2014 às 2:36 am #106605CLAUDENIL DIAS PRADOParticipante
Boa Noite a todos…
Pessoal efetuei os seguintes passos
1- Criei a tabela:
CREATE TABLE conf_usuarios (ID_CONF_USUARIOS integer,
NOME_COMPLETO_CONF_USUARIOS varchar(80) NOT NULL,
LOGIN_CONF_USUARIOS varchar(15) NOT NULL,
SENHA_CONF_USUARIOS varchar(15) NOT NULL,
ATIVO_CONF_USUARIOS varchar(1) NOT NULL,
PRIMARY KEY (ID_CONF_USUARIOS))tablespace procseletivo;2- Criei a Sequence
create sequence ID_CONF_USUARIOS_SEQ;
alter sequence ID_CONF_USUARIOS_SEQ NOCACHE;
3- Fui criar a Trigger
create OR replace trigger trg_bi_conf_usuarios
before insert on conf_usuarios
for each row
begin
if :new.ID_CONF_USUARIOS is null then
select ID_CONF_USUARIOS_SEQ.nextval
into :new.ID_CONF_USUARIOS
from dual;
end if;
end;Nesse momento é emitida a seguinte msg:
[u][Error] Compilation (1: 29): ORA-04089: não é possível criar gatilhos nos objetos possuídos por SYS.
[/u]
Mas todos os passos acime executei como usuário Produção.E para esse usuário dei os seguintes GRANTS.
GRANT DBA TO usuario;
GRANT create session, alter session, create table, create procedure, create view, create materialized view, create trigger, create sequence, create any directory, create type, create synonym TO producao;Alguém pode me ajudar?
Desde ja muito obrigado
9 de maio de 2014 às 8:07 am #106606Paulo WerneckParticipante@CLAUDENIL
cara usei dos mesmo códigos que vc postou, criei o user dei os mesmos grants e consegui criar os objetos na boa.
conecta como producao, roda esses caras abaixo e verifica se retorna a tabela e a sequence que vc criou;
select table_name from user_tables;
select sequence_name from user_sequences;9 de maio de 2014 às 5:18 pm #106607CLAUDENIL DIAS PRADOParticipanteAmigo primeiramente obrigado pela atenção, rodei os selects e retornam a tabela e a sequence.
9 de maio de 2014 às 7:27 pm #106608rmanParticipante@CLAUDENIL DIAS PRADO
Será que não existe um SYNONYM apontando para um objeto do SYS?
9 de maio de 2014 às 11:36 pm #106609CLAUDENIL DIAS PRADOParticipanteJa verifiquei, não existe!
9 de maio de 2014 às 11:59 pm #106610CLAUDENIL DIAS PRADOParticipanteAmigos RESOLVI efetuando da seguinte maneira:
1- Dropei a Tabela e a recriei acrescentando CREATE TABLE PRODUCAO.conf_usuarios…conform e abaixo.
CREATE TABLE PRODUCAO.conf_usuarios (ID_CONF_USUARIOS INT,
NOME_COMPLETO_CONF_USUARIOS varchar(80) NOT NULL,
LOGIN_CONF_USUARIOS varchar(15) NOT NULL,
SENHA_CONF_USUARIOS varchar(15) NOT NULL,
ATIVO_CONF_USUARIOS varchar(1) NOT NULL,
PRIMARY KEY (ID_CONF_USUARIOS))tablespace procseletivo;2- Depois rodei:
create sequence ID_CONF_USUARIOS_SEQ;
alter sequence ID_CONF_USUARIOS_SEQ NOCACHE;
3- Depois rodei a criação da TIRGGER, acrescentando PRODUCAO.conf_usuarios
create OR replace trigger trg_bi_conf_usuarios
before insert on PRODUCAO.conf_usuarios
for each row
begin
if :new.ID_CONF_USUARIOS is null then
select ID_CONF_USUARIOS_SEQ.nextval
into :new.ID_CONF_USUARIOS
from dual;
end if;
end;Mas só uma duvida como eu estava rodando a criação da tabela e da trigger no usuário PRODUCAO entendo que estes objetos são de propriedades do PRODUCAO ou seja não seria necessário acrescentar CREATE TABLE PRODUCAO.conf_usuarios, certo?
Mas desde já agradeço a ateção.
13 de maio de 2014 às 3:09 pm #106617rmanParticipante@CLAUDENIL DIAS PRADO
Por padrão os objetos são criados no próprio schema quando não é especificado.
-
AutorPosts
- Você deve fazer login para responder a este tópico.