• Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram

S4PCADEMY_Logo
  • Inicio
  • Novedades
  • Academia SAP
  • FAQ
  • Blog
  • Contacto
Twitter Linkedin Instagram
#Hana Sql  ·  $rowid$  ·  hana sql  ·  rowid  ·  rownumber  ·  Technical Articles

Función $rowid$ en Hana | Blogs de SAP

By s4pcademy 


Contexto –

Aquí veremos una función de Hana incorporada bastante útil $fila$ y sus usos.

$fila$ –

Devuelve el valor de ID de fila interno para cada fila de la tabla. Cada vez que se inserta una nueva fila en una tabla de Hana, se asigna internamente una nueva identificación numérica única a esa fila. Esta identificación no está disponible en la tabla en forma de ninguna columna, por lo que debemos usar $fila$ función para ver la identificación generada para cada fila en esa tabla.

A continuación se muestra el ejemplo:

Cree una tabla simple usando el código a continuación e inserte algunos registros en esa tabla.

CREATE COLUMN TABLE HXE.ROWID_TEMP (NAME NVARCHAR (50), ID INT);

INSERT INTO HXE.ROWID_TEMP VALUES ('A', 1);
INSERT INTO HXE.ROWID_TEMP VALUES ('B', 2);
INSERT INTO HXE.ROWID_TEMP VALUES ('C', 3);

SELECT *, ("$rowid$") AS "ROWID" FROM HXE.ROWID_TEMP

Use Seleccionar consulta para ver el resultado junto con la columna de ID de fila como columna adicional. Aquí podemos ver la identificación numérica única asignada a cada fila automáticamente.

Ahora observaremos cuál es el impacto en este ID de fila cuando hacemos Update/Delete & Truncate.

Escenario de actualización – Actualice cualquier fila de la tabla.

UPDATE HXE.ROWID_TEMP SET NAME = 'Z' WHERE NAME = 'A';

Después de actualizar la fila con ID 1, ahora se le asigna una ID única recién generada.

Eliminar escenario – Elimine todas las filas de la tabla e inserte los datos nuevamente utilizando la declaración de inserción que se proporciona a continuación.

DELETE FROM HXE.ROWID_TEMP;

INSERT INTO HXE.ROWID_TEMP VALUES ('A', 1);
INSERT INTO HXE.ROWID_TEMP VALUES ('B', 2);
INSERT INTO HXE.ROWID_TEMP VALUES ('C', 3);

SELECT *, ("$rowid$") AS "ROWID" FROM HXE.ROWID_TEMP

Después de eliminar todos los registros de la tabla, el ID de fila comienza después del último ID de fila generado para esa tabla antes de eliminar. La identificación máxima generada en nuestra tabla de muestra fue 4 antes de la eliminación.

Escenario truncado – Trunque la tabla e inserte los datos nuevamente usando la declaración de inserción que se proporciona a continuación.

TRUNCATE TABLE HXE.ROWID_TEMP;

INSERT INTO HXE.ROWID_TEMP VALUES ('A', 1);
INSERT INTO HXE.ROWID_TEMP VALUES ('B', 2);
INSERT INTO HXE.ROWID_TEMP VALUES ('C', 3);

SELECT *, ("$rowid$") AS "ROWID" FROM HXE.ROWID_TEMP

La declaración truncada restablecerá el ID de fila en la tabla a los valores iniciales, es decir 1.

Esta función es bastante útil y se puede usar en algunos de los escenarios comunes, como a continuación.

1. Elimine cualquier registro duplicado en el que no tengamos ninguna columna clave disponible y no deseemos utilizar ningún número de fila o función de clasificación.

2. Se puede implementar para el procesamiento de registros delta capturando el último ID de fila generado/cargado para la tabla.

Espero que encuentre útil esta función/artículo.

¡¡Feliz aprendizaje!!



Source link


BlogsfunciónHANArowidSAP

Artículos relacionados


Technical Articles
Crear contenido fiscal para países/regiones no localizados en SAP Cloud Applications Studio: parte 4
Technical Articles
Solución de problemas ‘no se ajusta al protocolo ‘ApplicationUIManaging’ cuando se usa SAP BTP SDK para iOS 9.1
Technical Articles
SAP Central Finance y el uso eficaz de AIF

Deja tu comentario Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

SAP Build Process Automation: consuma API de S/4 HANA On-Prem a través de RAP BTP ABAP o BTP CAP
Previo
Seguridad SAP BTP para proteger los datos/acceso
Siguiente

Madrid

Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010

México

Paseo de la Reforma 26
Colonia Juárez,  Cuauhtémoc
Ciudad de México 06600

Costa Rica

Real Cariari
Autopista General Cañas, 
San José, SJ 40104

Perú

Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073

Twitter Linkedin Instagram
Copyright 2022 | All Right Reserved.
Cookies Para que este sitio funcione adecuadamente, a veces instalamos en los dispositivos de los usuarios pequeños ficheros de datos, conocidos como cookies. La mayoría de los grandes sitios web también lo hacen.
Aceptar
Cambiar ajustes
Configuración de Cookie Box
Configuración de Cookie Box

Ajustes de privacidad

Decida qué cookies quiere permitir. Puede cambiar estos ajustes en cualquier momento. Sin embargo, esto puede hacer que algunas funciones dejen de estar disponibles. Para obtener información sobre eliminar las cookies, por favor consulte la función de ayuda de su navegador. Aprenda más sobre las cookies que usamos.

Con el deslizador, puede habilitar o deshabilitar los diferentes tipos de cookies:

  • Bloquear todas
  • Essentials
  • Funcionalidad
  • Análisis
  • Publicidad

Este sitio web hará:

Este sitio web no:

  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
  • Recuerde sus detalles de inicio de sesión
  • Esencial: recuerde su configuración de permiso de cookie
  • Esencial: Permitir cookies de sesión
  • Esencial: Reúna la información que ingresa en un formulario de contacto, boletín informativo y otros formularios en todas las páginas
  • Esencial: haga un seguimiento de lo que ingresa en un carrito de compras
  • Esencial: autentica que has iniciado sesión en tu cuenta de usuario
  • Esencial: recuerda la versión de idioma que seleccionaste
  • Functionality: Remember social media settings
  • Functionality: Remember selected region and country
  • Analytics: Keep track of your visited pages and interaction taken
  • Analytics: Keep track about your location and region based on your IP number
  • Analytics: Keep track of the time spent on each page
  • Analytics: Increase the data quality of the statistics functions
  • Advertising: Tailor information and advertising to your interests based on e.g. the content you have visited before. (Currently we do not use targeting or targeting cookies.
  • Advertising: Gather personally identifiable information such as name and location
Guardar y cerrar