SQL - Ller un valor de un TSQL

 
Vista:

Ller un valor de un TSQL

Publicado por Hubert Casimiro (98 intervenciones) el 25/08/2005 01:32:26
Disculpen, soy nuevo es esto de los TSQL desde Visual Fox.
Tengo esta transaccion en mi codigo, no es un SP.
Lo ejecuto con ADO, y no hay error.

BEGIN TRANSACTION
DECLARE @RESULTADO1 int, @RESULTADO2 int,
SET @RESULTADO1 = 50
SET @RESULTADO2 = 21

Es algo simple (pero me basta por el momento)
Debajo sigue mi codigo, quiero tener el resultado de esa transaccion para otros fines RESULTADO1, RESULTADO2 en una variable.
Uds, de seguro que tienen esto resuelto.

Creo que creando esto en un SP si funciona, pero no puedo hacerlo de esa manera, tiene que ser tal como esta arriba. Como lo hago, si tuvieran un ejemplo en Visual Basic o Visual Fox les agradeceria bastante.
Cordialmente.
Hubert
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ller un valor de un TSQL

Publicado por christian (38 intervenciones) el 25/08/2005 15:17:21
El problema es que si no lo tenes en un SP esto se te pierde luego de ejecutar la transaccion, y al no ser perdurable, no es accesible.

Para eso existen las variables globales.

la recomendacion mia es que uses la base de datos para datos y el codigo para operaciones (no involucrada con datos).

Ahora, si estas buscando un fin especifico, se mas detallado... :P

Saludos
Christian
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ller un valor de un TSQL

Publicado por Hubert Casimiro T. (98 intervenciones) el 26/08/2005 19:21:19
Hola Christian.
Gracias por responder.
Entonces como uso las variables globales, las cargo en el en La transaccion con SQL y como las puedo leer desde mi aplicacion sin unsar SP.

Mi aplicacion la quiero hacer para correrla sobre cualquier base de datos y la idea es no meterle programacion a la Base de Datos en un SP (si se puede?), ahora del ejemplo es una simulacion simplemente para devolver un valor (en el fonde eso será mas complejo), espero el siguiente ejemplo te ilustre.
La idea es Ubicar un valor y luego de esto actualizar.

BEGIN TRAN MyTransaccion
-- obtener la menor clave de la tabla que tiene '01' en micampo3
DECLARE @micampo1 int
SELECT @micampo1 = (SELECT TOP 1 micampo1
FROM mitabla
WHERE micampo3 ='01'
ORDER BY micampo1)

-- actualizar micampo3 de esa clave
UPDATE mitabla
SET micampo3 = 'X'
WHERE micampo1 = @micampo1

IF @@ROWCOUNT = 0
BEGIN
SELECT 'ERROR, Al momento de actualizar el registro'
ROLLBACK TRAN MyTransaccion
RETURN(0)
END

-- mostrar esa clave que fue actualizada
SELECT @micampo1
COMMIT TRAN MyTransaccion

Este cógido como transaccion esta bien, PERO?
Como obtengo @micampo1 en mi aplicacion.

De no poderse. Abria una forma de protejer el codigo del SP (si lo hago con SP)en SQL Server, de ser si (por ahi podria estar mi solucion) y como lo hago si fuera el caso. La idea en un principio es que La empresa que adquiera mi Software. no vea nada de codigo, Por eso que la transaccion esta en mi código. Quiero proteger ese codigo.

Gracias.
Saludos.
Hubert Casimiro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar