Cada vez que ejecutamos un comando en PostgreSQL, las secuencias hacen la conexión con el terminal de texto donde se está ejecutando el psql (shell). Sin embargo, en el caso de la herencia, el proceso de cada niño hereda las corrientes del proceso principal. No todos los programas necesitan que se introduzcan estas transmisiones en el código, algunas funciones como getchar () y putchar () usan las transmisiones de entrada y salida automáticamente. Las corrientes se encuentran en la categoría de 3.
Stdin: Es una secuencia de entrada estándar. Se utiliza donde el programa lee los datos de entrada.
Stdout: Esto implica la secuencia de salida estándar utilizada cuando la aplicación escribe los datos (salida) al archivo.
Stderr: Esta secuencia se refiere a los errores en la aplicación. Esto se usa para mostrar o notificar al usuario sobre la ocurrencia de un error durante la ejecución.
La sintaxis común para estos tres tipos es:
Archivo *stdin;La entrada estándar es leída mediante el "teclado" del dispositivo de entrada, mientras que la salida estándar y los errores estándar se muestran en la pantalla del monitor del dispositivo de salida del dispositivo de salida. Las dos primeras transmisiones se utilizan para obtener y mostrar los datos en palabras simples, pero la tercera se usa principalmente cuando necesitamos diagnosticar los errores. Estoy hablando de manejo de excepciones en lenguajes de programación.
Entrada estándar (stdin):
Al crear un código fuente, la mayoría de las funciones dependen de la secuencia de stdin para la función de entrada. Pero algunos programas como los programas Dir y LS no requieren esta funcionalidad, ya que toman los argumentos de la línea de comandos. Esta situación ocurre cuando el programa se basa en el sistema para la entrada, pero no interactúa con el usuario. Por ejemplo, los programas relacionados con el directorio y las rutas no requieren información para ser ejecutado.
Cada archivo que está bajo el proceso de ejecución se asigna con un número único por el sistema. Esto se llama descriptor de archivo. Para la entrada estándar, el valor del descriptor de archivo es "0". En el lenguaje de programación C, el descriptor de archivo tiene archivo variable * stdin, de manera similar para el lenguaje C ++. La variable se define como STD :: CIN.
Stdin en PostgreSQL
Después de la instalación y configuración de la base de datos, para la conectividad con el servidor, debe proporcionar una contraseña para continuar. Estas medidas son para la autenticación del usuario.
Copiar datos de Stdin a una tabla
Para reconocer el mecanismo de Stdin, necesitamos crear una mesa ficticia. Para que podamos leer y copiar los datos de un archivo a otro incorporando stdin.
>> Crear escuela de la tabla (ID int, nombre Varchar (10), dirección Varchar (20), Asunto Varchar (20));Una vez que se cree la tabla, agregaremos los valores en la tabla utilizando un comando insertar. Agregue algunos datos de muestra en pocas filas, se agregará REST utilizando "Stdin".
>> Insertar en los valores escolares (1, 'Ahmad', 'Lahore', 'Sciences'), (2, 'Shazain', 'Islamabad', 'Arts'), (3, 'Zain', 'Karachi', ',', ',', ' ciencias ');Aparte de la declaración de "insertar", existe una alternativa para cargar los valores en la tabla. Esto es a través de "Stdin". En PostgreSQL, ingresamos datos en la tabla desde el terminal en cuanto a la fila utilizando un delimitador. Este delimitador es un separador entre los valores de dos columnas de una fila. Este delimitador puede ser un espacio, coma o un blanco en cualquier caso. Pero utilizando un delimitador como stdin, se recomienda CSV (valores separados por comas). Y no se refiere ningún otro símbolo aquí. Se utiliza una palabra clave 'copia' que copiará los datos de la pantalla PSQL a la tabla en particular.
>> Copiar la escuela de Stdin (delimitador ',');Cuando usa la consulta, aquí se mencionan algunas instrucciones para la colocación de datos. Estos son los puntos para guiar al usuario para que debe poder ingresar datos correctamente. Cada fila debe ingresarse en una nueva línea.
Iremos paso a paso aquí. Cada valor escrito antes o entre las comas representa cada columna. Como, hay 4 columnas, por lo que se usan 4 valores como CSV. Ingrese la primera fila y luego presione la pestaña.
Como se completa una fila, se moverá hacia la siguiente fila. No importa cuántas filas desee agregar, al igual que una declaración de inserción, todos los datos ilimitados se colocarán dentro de la tabla. Volviendo al ejemplo, ahora hemos escrito la segunda fila y procedemos para la siguiente.
Hemos usado 2 filas para demostrar. La inserción real llevará los datos a la marca de requisitos. Si ha terminado agregando filas en la tabla y desea dejar este mecanismo, seguramente usará un final del archivo (EOF).
Debe concluir agregando datos con una barra insegura (\) y un período (.) en la última línea cuando no quieres agregar más filas.
Ahora echemos una mirada finalizada a todo el código de la consulta al EOF. Al final, "Copy 3" indica que se agregan 3 filas a la tabla.
Nota: El operador EOF no se agrega como símbolo en la nueva fila de la tabla.
Sigue agregando datos a través de "stdin" de acuerdo con el requisito. Puede verificar los datos que ha insertado a través de la instrucción Seleccionar.
>> seleccionar * de la escuela;Copiar datos de una tabla a stdin
Si está interesado en copiar los datos en una tabla de la tabla, entonces usamos stdin para eso. No es posible copiar directamente una tabla en la otra en PostgreSQL .
Cree una tabla de muestra para copiar todos los datos de la tabla (escuela). Uno debe ser consciente de agregar los datos de la columna, tipo similar a la tabla dirigida.
Ahora, agregue los datos de ese archivo utilizando la misma declaración Stdin de una copia. Los datos pueden ser los mismos o puede alterarlos agregando una nueva fila que no estaba presente en la tabla original.
>> Copie School_Copy de Stdin (Delimeter ',')Use una declaración de selección para ingresar los datos.
Salida usando stdout en lugar de la instrucción seleccionar
Como usamos la alternativa stdin a la declaración de inserción. Del mismo modo, STDOUT se usa en el lugar de la instrucción SELECT. La representación no está en forma de tabla. Para el propósito de salida, el delimitador utilizado es "|". Este delimitador se coloca automáticamente entre las columnas en cada fila.
>> copiar escolar_copy a stdout (delimitador '|');Surge de los errores mientras usa delimitadores
Delimitador '|'
Si usa un delimitador '|' En el reemplazo de CSV, causará un error. Esto no copiará los datos del terminal y causa un error de sintaxis.
Conclusión
La copia de PostgreSQL de Stdin 'ayuda a duplicar los datos de una tabla a otra. En este artículo, primero le dimos una introducción de las transmisiones estándar, Stdin, está funcionando, teóricamente seguido de la breve explicación de los ejemplos. Un borde competitivo de la declaración de stdin sobre insertar es que, si una fila se omite por error mientras copiamos datos, podemos agregarlo entre las filas existentes. Con la guía de este tutorial, podrá copiar el contenido de las tablas.