Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Insertar mismo valor con Triger

Estas en el tema de Insertar mismo valor con Triger en el foro de PostgreSQL en Foros del Web. Buenas tardes, Estoy haciendo un trigger y quiero insertar el mismo valor 'S' para cada fila en una base de datos que tengo hecha. Como ...
  #1 (permalink)  
Antiguo 25/05/2009, 11:42
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Insertar mismo valor con Triger

Buenas tardes,

Estoy haciendo un trigger y quiero insertar el mismo valor 'S' para cada fila en una base de datos que tengo hecha. Como hago un trigger para que siempre que introduzca un registro a las otras columnas de la base de datos, esta se rellene sola siempre con S?

Muchas gracias!
  #2 (permalink)  
Antiguo 25/05/2009, 12:33
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Insertar mismo valor con Triger

Que tal color

Eso que buscas hacer, no requieres de un trigger, sino de un valor por defecto en un campo determinado.

Si tienes la tabla tabla1 con los campos campo1,campo2,campo3, y quieres que campo3 tenga siempre el valor de 'S' lo puedes poner la S como un valor por defecto.

Código sql:
Ver original
  1. ALTER TABLE tabla1 ALTER COLUMN campo3 SET DEFAULT 'S';

Con esto, cuando quieras insertar en tabla1 bastará con decirle:

Código sql:
Ver original
  1. INSERT INTO tabla1 (campo1,campo2) VALUES('valor1','valor2');

Si insertas de esta forma, siempre se insertará una 'S' en campo3

Un saludo.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/05/2009, 12:37
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Insertar mismo valor con Triger

gracias juesos52!

Pero necessito un trigger porque luego tambien tengo que hacer otras funciones, y prefiero hacerlo con un trigger. Se podria hacer?

Muchas gracias!
  #4 (permalink)  
Antiguo 25/05/2009, 12:57
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Insertar mismo valor con Triger

Si se puede color

mira este ejemplo:

Código sql:
Ver original
  1. CREATE OR REPLACE FUNCTION mismo_valor() RETURNS TRIGGER AS
  2. $$
  3. BEGIN
  4. UPDATE tabla1 SET campo3='S' WHERE id = NEW.id;
  5. RETURN NEW;
  6. END;
  7. $$
  8. LANGUAGE 'plpgsql';
  9.  
  10. CREATE TRIGGER valor_en_S after INSERT ON tabla1
  11. FOR each ROW EXECUTE PROCEDURE mismo_valor();

Un saludo
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 25/05/2009, 13:29
 
Fecha de Ingreso: mayo-2009
Mensajes: 14
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Insertar mismo valor con Triger

Muchas gracias huesos! perfecto.

Lo único que me fallaba eran las comillas de la S, que he puesto doble comilla ''S'' porque sino me daba error.

Muchas gracias de nuevo.
  #6 (permalink)  
Antiguo 25/05/2009, 13:30
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Insertar mismo valor con Triger

De nada
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:25.