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

Introducir variable en SQL desde un script

Estas en el tema de Introducir variable en SQL desde un script en el foro de SQL Server en Foros del Web. Hola: Tengo un problemilla y es que no sé ejecutar una query que tome una variable que la paso a través de un .BAT. Ejemplo: ...
  #1 (permalink)  
Antiguo 08/06/2007, 06:02
 
Fecha de Ingreso: mayo-2007
Mensajes: 2
Antigüedad: 17 años
Puntos: 0
Introducir variable en SQL desde un script

Hola:
Tengo un problemilla y es que no sé ejecutar una query que tome una variable que la paso a través de un .BAT.
Ejemplo:
Yo quiero que el parámetro que introduzco al .bat me lo interprete la setencia SQL.
Yo ejecuto proceso.bat VALOR, y deseo que VALOR sea una variable del sql.

********************* PROCESO.BAT *****************

set E=%1%

sql -U usuario -P password -i archivo.sql

**************************************************
****************** ARCHIVO.SQL *********************

select CAMPO from TABLA where CAMPO like '&E'
go
exit
************************************************** *
He introducido &E, %E% y me coge el valor que he definido en el .bat.
¿Sabe alguien como puedo escribirlo para obtener el resultado correcto?
Chas gracias
  #2 (permalink)  
Antiguo 12/06/2007, 19:26
 
Fecha de Ingreso: noviembre-2005
Mensajes: 658
Antigüedad: 18 años, 6 meses
Puntos: 3
Re: Introducir variable en SQL desde un script

hazlo asi... aca va un bat que lo que hace es dejar vacia una tabla

rem ***************************************
rem Parametros :
rem %1 = Tabla
rem ***************************************

if .%1==. goto msgtabla

echo use TUBASE > trunca_tbl.sql
echo go >> trunca_tbl.sql
echo truncate table %1 >> trunca_tbl.sql
echo go >> trunca_tbl.sql

osql -Usa -Pxxxxxxxx -STUSERVIDOR -itrunca_tbl.sql -otrunca_tbl.out
goto fin

:msgtabla
echo *** Debe indicar tabla como segundo parametro ***
goto fin

:fin
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 13:37.