elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)



+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Atascado con una función en SQL SERVER
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Atascado con una función en SQL SERVER  (Leído 659 veces)
IISiroII

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Atascado con una función en SQL SERVER
« en: 18 Febrero 2019, 21:15 pm »

Código
  1. CREATE FUNCTION dbo.captura6(@cuenta NCHAR(100))
  2. RETURNS INT
  3. AS
  4. BEGIN
  5. DECLARE @numero INT;
  6. SELECT @numero = COUNT(*) FROM @cuenta
  7. RETURN @numero
  8. END
  9. GO
  10.  

El objetivo es usar esta función es que devuelva el numero de filas de la tabla pasada por parámetro.
El problema es que el SQL Server Management Studio me dice que @cuenta no está definida, y cuando añado la linea DEFINE @cuenta nchar(100) me dice que ya estaba definida...

No doy encontrado el problema y mucho menos como solucionarlo xD.


En línea

IISiroII

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Atascado con una función en SQL SERVER
« Respuesta #1 en: 20 Febrero 2019, 13:27 pm »

Vale, finalmente he conseguido una solución un poco rocambolesca xD.
Código
  1. CREATE FUNCTION dbo.captura6()
  2. RETURNS INT
  3. AS
  4. BEGIN
  5. DECLARE @resultado INT;
  6. SELECT @resultado = COUNT(*) FROM dbo.Tabla1
  7. RETURN @resultado
  8. END
  9. GO
  10.  
Básicamente eliminé el parámetro de entrada y coloqué manualmente el nombre de la tabla en el cuerpo de la función xD.
Luego para comprobarlo hice lo siguiente:
Código
  1. SELECT dbo.captura6();
Y listo xD.


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.707


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Atascado con una función en SQL SERVER
« Respuesta #2 en: 20 Febrero 2019, 15:10 pm »

Código
  1. DECLARE @sqlBody VARCHAR(500),@TableCount INT, @SQL NVARCHAR(1000)
  2.  
  3. SELECT @sqlBody = 'from TBLREFERENCIA'
  4. SELECT @SQL = N'SELECT @TableCount = COUNT(*) ' + @sqlBody
  5.  
  6. EXEC sp_executesql @SQL, N'@TableCount INT OUTPUT', @TableCount OUTPUT
  7.  
  8. SELECT @TableCount
:https://stackoverflow.com/questions/6193126/how-to-get-row-count-from-exec-in-a-tsql-sproc
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Atascado en ghost hunter de ps2.
Juegos y Consolas
vivastun 3 2,113 Último mensaje 12 Agosto 2004, 01:05 am
por zheo
Atascado en el Prince of Persia
Juegos y Consolas
Jericho 2 795 Último mensaje 4 Junio 2005, 12:01 pm
por Mance
Me siento atascado.
Programación General
K4sS- 6 1,950 Último mensaje 15 Abril 2013, 13:28 pm
por Bomb-P
Atascado con XSL
Desarrollo Web
Saberuneko 5 3,768 Último mensaje 13 Junio 2013, 20:07 pm
por Saberuneko
atascado en reaver pro
Hacking Ético
catalina1964 2 1,961 Último mensaje 5 Diciembre 2013, 15:03 pm
por catalina1964
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines