Este video le enseñará a usted como trabajar con scripts

Anuncio
Este video le enseñará a usted como trabajar con scripts (secuencias de
comandos) en DB2
Cubriremos dos tipos de scripts, scripts SQL y del Sistema Operativo
Los scripts SQL, como veremos pronto, son bastante fáciles de entender.
y son independientes de la plataforma, es decir, son portables
sin ninguna modificación entre distintas plataformas, como
Windows o Linux.
Sin embargo, los scripts SQL no permiten utilizar parámetros.
Por lo tanto, para obtener realmente beneficio de los scripts SQL
debes combinarlos con scripts del Sistema Operativo.
Echemos un vistazo a script SQL muy básico.
Supongamos que ha creado el archivo script1.db2
El nombre y la extensión no importan, se puede usar la extensión que
desee.
Sin embargo, cuando se trabaja con IBM Data Studio como mostraré más
adelante
es mejor utilizar la extensión de SQL.
Echemos un vistazo al contenido de este archivo.
Como puedes ver, contiene varias sentencias SQL.
Observa que cada una de las sentencias termina con un punto y coma
Este es el fin de sentencia por defecto en DB2.
Esto permite a DB2 saber dónde termina una instrucción dada.
En este ejemplo, primero se conecta a la base de datos SAMPLE,
a continuación elimina la tabla arfchong.mytable,
la crea nuevamente. Estas son las columnas de esa tabla
selecciona todas las filas de la tabla, finalmente ejecuta la sentencia
COMMIT.
Observa que la instrucción DROP TABLE se incluye a fin de dejar limpio
e iniciar de cero.
Agregando la instrucción DROP TABLE nos da un error
la primera vez que ejecutamos el script
indicando que la tabla arfchong.mytable no existe
las ejecuciones posteriores de la misma sentencia serán sin problemas
eliminando primero la tabla arfchong.mytable, para luego crearla
nuevamente.
Incluir sentencias DROP es una práctica común entre los DBA y
desarrolladores
y es común colocarlos al inicio del script para iniciar con todo
limpio.
Para ejecutar el script se puede utilizar IBM Data Studio
o la ventana de comandos DB2 en Windows o el shell de Linux.
Para ejecutarlo desde la ventana de comandos o el shell de Linux
ejecuta el siguiente comando:
db2 -t -v -f script1.db2 -z script1.log
Vamos a explicar lo que significa todo esto en unos pocos minutos.
En primer lugar, escribe un "db2" para invocar el procesador de línea
de comandos de DB2
que tendrá las siguientes opciones como describimos.
-t significa que se habilitará el fin de sentencia
el valor por defecto para el fin de sentencia es el punto y coma
-v produce una salida "verbosa".
Esto significa que queremos un eco de la sentencia que se está
ejecutando antes de que produzca la salida.
-f seguido de un nombre de archivo (en este caso "script1.db2")
significa que las sentencias que se ejecutan proceden del archivo
“script1.db2”.
-z seguido de un nombre de archivo (en este caso "script1.log")
significa que toda la salida será escrita en ese archivo.
Recapitulemos, deja que te explique las cosas que he descripto hasta
ahora
primero abro la ventana de comandos DB2
Entonces puedo invocar cualquier editor de textos como Notepad
tipeando luego script1.db2 y presionando enter
esto abrirá el archivo en el editor, como nuevo archivo
entonces pude escribir mi script.
para ahorrar tiempo ya lo tenía escrito y solo copio y pego en este
archivo
ahora voy a guardar el archivo y cerrarlo
voy a ejecutarlo, así que voy a hacer un
db2 -tvf script1.db2 -z script1.log
ahora te darás cuenta porqué estoy usando -tvf
juntos, podría haber utilizado -t, -f, separados así también funciona
Pero permíteme dejarlo de nuevo como lo tenía, voy a presionar enter
Y el script se ejecutará y generará la salida
en el archivo script1.log
pero al mismo tiempo, me muestra la salida aquí.
ahora nota que hay un mensaje de error
pero este mensaje de error se esperaba debido a
que estamos intentando eliminar una tabla que no existe
Esto fue hecho a propósito, como se mencionó antes, normalmente se
colocan las instrucciones drop
al comienzo de los scripts para comenzar de cero
Ya que vas a crear los objetos de nuevo.
Echemos un vistazo al archivo script1.log
que también debería tener la misma salida.
Así que estamos conectados a la base de datos, hemos eliminado la tabla
nuevamente
Y obtuvimos el mensaje de error según lo esperado
entonces creamos la tabla y luego ejecutamos un select
de esa tabla, en la cual no hay filas ya que está recién creada
y finalmente el commit. Así todo funciona como se esperaba.
Descargar