Manual Completo de isql

Referencia técnica exhaustiva del parser interactivo de Sybase

Introducción y Sinopsis

La utilidad isql permite interactuar directamente con SAP Sybase ASE mediante comandos SQL. Es una herramienta potente que puede usarse interactivamente o mediante scripts automatizados.

Sinopsis de invocación:

isql [-e] [-F] [-p] [-n] [-v] [-X] [-Y]
     [-a display_charset] [-c cmdend] [-E editor]
     [-h headers] [-H hostname] [-i inputfile]
     [-I interfaces_file] [-J client_charset]
     [-l login_timeout] [-m errorlevel] [-o outputfile]
     [-P password] [-s colseparator] [-S server]
     [-t timeout] [-U username] [-w columnwidth]
     [-y sybase_directory] [-z language] [-A size]

Operaciones Críticas en Sesión

Dentro de la terminal de isql, existen comandos reservados que no son SQL pero controlan el entorno:

Comando Acción
go [n] Termina y envía el buffer al servidor. Si se añade un número n, ejecuta la instrucción n veces.
reset Limpia el buffer de consulta actual (descartando cambios).
vi (o editor) Abre el editor definido en la variable de entorno EDITOR para editar el buffer actual.
!! comando Ejecuta un comando del sistema operativo (shell escape).
:r archivo Lee el contenido de un archivo externo y lo vuelca en el buffer actual.
quit / exit Finaliza la sesión de isql.

Listado Exhaustivo de Opciones (Flags)

Conectividad

  • -U: Nombre de usuario (Sensible a mayúsculas).
  • -P: Contraseña. Si es NULL, dejar -P solo al final.
  • -S: Nombre del servidor (busca en el archivo interfaces).
  • -l: Tiempo máximo de espera para el login.
  • -X: Encriptación de contraseña en el lado cliente (más seguro).

Entrada / Salida

  • -i: Archivo de entrada con scripts SQL.
  • -o: Archivo de salida para volcar resultados.
  • -e: Echo (repite los comandos de entrada en la salida).
  • -n: Elimina la numeración de líneas y el prompt (>) de la salida.
  • -w: Ajuste de ancho de línea (default 80).

Opciones Avanzadas

Configuración del Entorno mediante "set"

Estas opciones se activan dentro de la sesión SQL para modificar el comportamiento del motor:

Opción set Efecto
nocount Desactiva el mensaje de "(n rows affected)".
statistics io / time Muestra estadísticas detalladas de carga de CPU y lecturas de disco.
showplan Genera la descripción del plan de ejecución (Query Optimizer).
parseonly Solo valida la sintaxis sin ejecutar la consulta.
textsize Controla el número de bytes retornados para columnas de tipo TEXT o IMAGE.

Ejemplos de Uso Avanzado

1. Edición Interactiva

1> select * from authors
2> where city = "Oakland"
3> vi  -- Se abre el editor, corriges el SQL, y al guardar regresas a isql
4> go

2. Redirección UNIX y Automatización

Usando etiquetas EOF:

isql -U sa -P pass << EOF > reporte.txt
select count(*) from users
go
EOF

3. Verificación de Rendimiento

isql -p -U sapsa
1> update orders set status = 'CLOSE'
2> go 3  -- Ejecuta el comando 3 veces y saca medias de tiempo

Notas Técnicas Importantes

  • Sobrescritura de flags: Si introduces una opción varias veces, isql usará el último valor indicado.
  • Precisión Flotante: Por defecto, isql muestra solo 6 dígitos decimales para datos float o real.
  • Archivos de entrada: Si usas < input_file y no indicas -P, la primera línea del archivo debe ser la contraseña.
  • Comentarios: Puedes incluir comentarios estándar de T-SQL (-- o /* */) dentro de tus scripts de isql.

Páginas relacionadas