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

ntext en trigger

Estas en el tema de ntext en trigger en el foro de SQL Server en Foros del Web. Buneas!! Estoy aprendiendo a hacer triggers y quiero declarar una variable tipo ntext pero me da error, en definitiva me dice que no puedo usar ...
  #1 (permalink)  
Antiguo 02/10/2006, 05:06
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta ntext en trigger

Buneas!!
Estoy aprendiendo a hacer triggers y quiero declarar una variable tipo ntext pero me da error, en definitiva me dice que no puedo usar tipos de datos ntext, pero yo lo necesito y creo que tiene que haber una manera de hacerlo, alguien puede explicarme cómo tengo que declarar esa variable??
  #2 (permalink)  
Antiguo 02/10/2006, 08:17
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
segun yo no debes tener problemas con el tipo de dato..
si pudieras poner el error y la parte del codigo donde te marca el error...
te podrian ayudar mejor...
un saludo
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 03/10/2006, 00:50
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
El error que me da es este:

Error 2739: Los tipos de datos text, ntext e image no son válidos para variables locales

Y mi trigger tiene el siguiente código:

CREATE TRIGGER [TR_insertar] ON [dbo].[PFA_FUNCDT5HDR]
FOR INSERT
AS
BEGIN

declare @signo varchar
declare @refserie varchar
declare @refnum varchar
declare @opa varchar
declare @c0006 ntext

SELECT @signo=Signo, @refserie=RefSerie, @refnum=RefNum, @opa=OPA, @c0006=C0006
FROM inserted

INSERT INTO tabla_ov (Signo, RefSerie,RefNum, OPA, C0006)
VALUES(@signo,@refserie,@refnum,@opa,@c0006)

END
  #4 (permalink)  
Antiguo 03/10/2006, 17:21
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Usar variables para los datos de un trigger es una mala práctica. Asume que SIEMPRE insertarás de un registro en un registro; cosa que en la vida real no sucede.

Creo que esto además de eliminar el asunto de las variables hará que funcionen los campos text como quieres.

CREATE TRIGGER [TR_insertar] ON [dbo].[PFA_FUNCDT5HDR]
FOR INSERT
AS
BEGIN

INSERT INTO tabla_ov (Signo, RefSerie,RefNum, OPA, C0006)
SELECT Signo, RefSerie, RefNum, OPA, C0006
FROM inserted
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 04/10/2006, 00:57
 
Fecha de Ingreso: marzo-2005
Mensajes: 276
Antigüedad: 19 años, 2 meses
Puntos: 0
El código que me has puesto ahí, me da un error que dice sintaxis incorrecta cerca de la palabra inserted ¿?¿?

JO! no hay quien haga un trigger que funcione en condiciones!!!
Y, por otro lado, alguien puede decirme cómo hago para que me saque un mensaje y así pobrar por donde entra y por donde no???
  #6 (permalink)  
Antiguo 05/10/2006, 12:05
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Prueba agregar el END al final de toda la sentencia, para cerrar el BEGIN que existe.

Imprimir mensajes los haces con

PRINT 'Cosa'

Si ejecutas la sentencia desde Query Analyzer verás los mensajes en la pestaña correspondiente dentro de los resultados.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 17:18.