Pregunta sobre triggers

13/02/2004 - 08:02 por fabian | Informe spam
Hola a todos,

mi pregunta es la siguiente, es posible hacer un trigger que al
cambiar(actualizar) el estado de un campo de la tabla, genere un fichero de
texto con los registros de la tabla que están en ese estado? Si sabeis cómo,
me podriais dar algún ejemplo?
soy principiante y no sé muy bien las posibilidades de los triggers.

Saludos.

Preguntas similare

Leer las respuestas

#1 Miguel Egea
13/02/2004 - 10:15 | Informe spam
Como poder si que se podría, pero no es buena idea, crear ficheros es una
tarea ajena a Sql-server, yo crearía una tabla (en portalsql.com tienes
ejemplos) con las claves de los registros modificados. Después a través de
comandos como bcp o mediante dts exportaría esa información a ficheros de
texto.

Saludos
miguel Egea
"fabian" escribió en el mensaje
news:euA7#
Mostrar la cita
de
Mostrar la cita
cómo,
Mostrar la cita
#2 fabian
13/02/2004 - 14:41 | Informe spam
He heho lo siguiente :

CREATE TRIGGER [EXPORTARFICHEROS] ON [dbo].[TB_ENTRADAS]
AFTER UPDATE
AS

DECLARE @FileName varchar(50),
@bcpCommand varchar(2000),
@orderno varchar(8)

INSERT INTO TEMP_ENTRADAS
(NPEDIDO, TIPOENT, PROVEEDOR, FECHAPEDIDO, FECHAENT,
ESTADO)
SELECT NPEDIDO, TIPOENT, PROVEEDOR, FECHAPEDIDO, FECHAENT, ESTADO
FROM TB_ENTRADAS
WHERE ESTADO = 'C'

Set @orderno ='PRUEBA'

SET @FileName = REPLACE('c:\' + @orderno +
'_'+CONVERT(char(8),GETDATE(),1)+'.txt','/','-')

SET @bcpCommand = 'bcp "SELECT * FROM TEMP_ENTRADAS " queryout "'
SET @bcpCommand = @bcpCommand + @FileName + '" -T -c -o c:\test.txt'

EXEC master..xp_cmdshell @bcpCommand

DELETE FROM TEMP_ENTRADAS
GO

pero en el fichero test.txt me da el siguiente error:

SQLState = S0002, NativeError = 208
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]El nombre de objeto
'TEMP_ENTRADAS' no es v lido.
SQLState = 37000, NativeError = 8180
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]No se puede preparar
la instrucci¢n o instrucciones.


"Miguel Egea" escribió en el mensaje
news:
Mostrar la cita
fichero
Mostrar la cita
#3 ulises
13/02/2004 - 15:31 | Informe spam
El bcp es un comando externo, de esa manera le tienes que
especificar todos los datos que necesita para hacer la
tarea, le tienes que indicar el servidor, y el nombre de
la tabla en forma completa "basededatoss.owner.tabla";
revisa la sintaxis completa del bcp en el BOL.

Saludos,
Ulises

Mostrar la cita
FECHAPEDIDO, FECHAENT,
Mostrar la cita
FECHAENT, ESTADO
Mostrar la cita
queryout "'
Mostrar la cita
c:\test.txt'
Mostrar la cita
nombre de objeto
Mostrar la cita
se puede preparar
Mostrar la cita
escribió en el mensaje
Mostrar la cita
crear ficheros es una
Mostrar la cita
portalsql.com tienes
Mostrar la cita
Después a través de
Mostrar la cita
información a ficheros de
Mostrar la cita
trigger que al
Mostrar la cita
tabla, genere un
Mostrar la cita
estado? Si sabeis
Mostrar la cita
de los triggers.
Mostrar la cita
#4 fabian
13/02/2004 - 15:49 | Informe spam
Ahora le doy la ruta completa, es decir, 'basedatos.owner.tabla' y no da
ningún error, lo que pasa es que me crea tanto el fichero donde guardo los
datos como el fichero de log vacíos y el sql server se queda como colgado.
Si ejecuto el mismo código desde el analizador de consultas, sin el trigger,
sí que funciona correcatmente.

Saludos.

"ulises" escribió en el mensaje
news:f30201c3f23e$100bf8a0$
El bcp es un comando externo, de esa manera le tienes que
especificar todos los datos que necesita para hacer la
tarea, le tienes que indicar el servidor, y el nombre de
la tabla en forma completa "basededatoss.owner.tabla";
revisa la sintaxis completa del bcp en el BOL.

Saludos,
Ulises

Mostrar la cita
FECHAPEDIDO, FECHAENT,
Mostrar la cita
FECHAENT, ESTADO
Mostrar la cita
queryout "'
Mostrar la cita
c:\test.txt'
Mostrar la cita
nombre de objeto
Mostrar la cita
se puede preparar
Mostrar la cita
escribió en el mensaje
Mostrar la cita
crear ficheros es una
Mostrar la cita
portalsql.com tienes
Mostrar la cita
Después a través de
Mostrar la cita
información a ficheros de
Mostrar la cita
trigger que al
Mostrar la cita
tabla, genere un
Mostrar la cita
estado? Si sabeis
Mostrar la cita
de los triggers.
Mostrar la cita
Ads by Google
Search Busqueda sugerida