domingo, 11 de diciembre de 2011

Dividir la pantalla en VI






Dividir la pantalla
:split   (horizontalmente)
:vsplit  (verticalmente)

:split 
:vsplit 

Nueva división vacía
:new       (crea ventana horizontal vacía)
:vnew     (crea ventana vertical vacía)

Para cambiar el foco a otra ventana
CTRL + W

Para dejar el espacio actual y cerrar todas los demás
:only



sábado, 10 de diciembre de 2011

Buscar Texto en un Archivo con VI


Para buscar texto en VI se usan las siguientes instrucciones:

:/texto_a_buscar
:?texto_a_buscar

:/texto_a_buscar 
busca hacia abajo del documento texto_a_buscar

:?texto_a_buscar 
busca hacia arriba del documento  texto_a_buscar

Para avanzar en los resultados de la búsqueda se debe presionar la tecla n


domingo, 4 de diciembre de 2011

Crear tabla desde un select en Oracle


Crear una tabla a partir de una consulta es muy sencillo en Oracle.
En el ejemplo, que agrego a continuación se ve claramente que primero se debe indicar que se crea una tabla:
CREATE TABLE AS y a continuación el SELECT entre paréntesis.


CREATE TABLE subtelefono AS
(SELECT TELEFONO, IMEI FROM TELEFONOS);



sp_helptext en Oracle o Ver código de un procedimiento



Para quienes están mas familiarizados con MS SQL, cuando trabajen en Oracle estarán buscando un función para obtener el código de algún procedimiento como es sp_helptext. Encontré esta sentencia que cumple con esta función:

SELECT TEXT FROM ALL_SOURCE WHERE NAME='MOSTRAR_DATOS' ORDER BY LINE;

donde MOSTRAR_DATOS , es el nombre del procedimiento que se quiere obtener el código.

En la imagen que adjunto, primero creo el procedimiento y luego obtengo el mismo código con la sentencia antes mencionada.


sábado, 3 de diciembre de 2011

Vi - Mostrar números de linea


Para mostrar los números de linea en el editor VI (VIM), se puede usar:

:set number 


:set nu

Para des habilitar la numeración:

:set nu!







jueves, 1 de diciembre de 2011

Oracle - Too many values ORA-00913




Estaba tratando de hacer una inserción a partir de un SELECT y me apareció este error: 

Error SQL: ORA-00913: demasiados valores 00913. 00000 - "too many values"
El error en mi caso consistía en la siguiente trivialidad:

INSERT INTO CopiaTELEFONOS (campo1, campo2, campo3)
SELECT campo1, campo2 FROM TELEFONOS;

Tenia mas campos en la primera sentencia que en la segunda donde seleccionaba los campos.
El select es de ejemplo, no es que use esos nombres para las tablas. El caso real se trataba de una tabla con decenas de campos.

sábado, 26 de noviembre de 2011

Explorador de archivos en VI


Vi tiene unos comandos que permiten explorar archivos que son: :Vex y :Sex. Pero al momento de editar un archivo la pantalla queda divida, cortando las lineas que son mas largas osea , haciendo un salto de linea. Lo cual complica la lectura de código fuente algunas veces.

Leyendo la documentación de VI encontré este otro comando o plugin que no tiene ese efecto desagradable que es :

:edit .  (ojo con el punto, tiene que ir sino no funciona)

Ejecutas vi o vim, una vez en el editor ejecutas :edit . , y se mostrará un explorador de archivos.



Otra forma de navegar un directorio es:

:e directorio

y

:Explore

Te aseguro que nunca esta demás saber VI. Debido a que en los servidores Linux, no siempre esta disponible un entorno gráfico con sus estandarizados editores. ¿Y que pasará cuando te toque uno de esos?  Me puse catastrofista :)

Documentación de VI
http://j.gs/RGp