Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Pregunta sobre Procedimientos almacenados o Cursores

Estas en el tema de Pregunta sobre Procedimientos almacenados o Cursores en el foro de Bases de Datos General en Foros del Web. Una consulta!! Necesito hacer un procedimiento almacenado o un cursor en SQL SERVER 2005 Donde pueda evaluar datos de varias tablas para sacar un puntaje ...
  #1 (permalink)  
Antiguo 20/11/2008, 10:09
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta sobre Procedimientos almacenados o Cursores

Una consulta!!
Necesito hacer un procedimiento almacenado o un cursor en SQL SERVER 2005
Donde pueda evaluar datos de varias tablas para sacar un puntaje final
Ejemplo
Tengo la tabla Educación donde existe el campo nivel de formación el cual puede tomar los siguientes atributos:

Doctorado
Maestría,
Licenciatura,
Técnico Superior,
Técnico Medio
y otros

Cada atributo tiene un puntaje el procedimiento me debe encontrar el que tenga el mayor puntaje ósea si encuentra Doctorado le asigna un puntaje y ya no debe buscar otro atributo referente a la tabla educación

Luego hacer otras búsquedas en otras tablas.. y de igual forma la asignación de puntaje a ciertos atributos... y el puntaje debe hacer una suma parcial

atte Fernando

Última edición por nano74s; 20/11/2008 a las 12:37 Razón: error de sintaxis
  #2 (permalink)  
Antiguo 20/11/2008, 11:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

No has aclarado qué motor de base de datos (DBMS) estás usando.
La sintaxis y estructura cambian con cada uno.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/11/2008, 16:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No has aclarado qué motor de base de datos (DBMS) estás usando.
La sintaxis y estructura cambian con cada uno.
hola gnzsoloyo

puedes ayudarme con mi pregunta??? soy nuevo en sql 2005 y nuevo en el foro
gracias por tu tiempo
  #4 (permalink)  
Antiguo 20/11/2008, 18:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

¿Qué estás usando?
* PostgreSQL
* MySQL
* Firebird
* SQLite
* DB2
* Microsoft SQL Server Compact Edition
* Microsoft SQL Server 2000
* Microsoft SQL Server 2008
* Sybase ASE
* IBM DB2
* Informix
* Microsoft SQL Server
* NexusDB
* Open Access
* Oracle
* Paradox
* Progress
* Sybase

Todos estos son DBMS (DataBase Manager System o Sistemas de Gestión de Bases de Datos). La pregunta es ¿cuál?, porque la sintaxis y la forma de trabajo no es la misma en todos ellos.
Hay un conjunto de operaciones que se realizan en los SP de una forma en MS SQL Server y de otra forma en Oracle, y de forma distinta en MySQL...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 24/11/2008, 07:05
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta sobre Procedimientos almacenados o Cursores

Hola..

Estoy utilizando Microsoft SQL Server Management studio version 9.00.1399.00

no se que mas hacer o utilizo otro?

atte.
nano74s
  #6 (permalink)  
Antiguo 24/11/2008, 07:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Qué estás usando?
* PostgreSQL
* MySQL
* Firebird
* SQLite
* DB2
* Microsoft SQL Server Compact Edition
* Microsoft SQL Server 2000
* Microsoft SQL Server 2008
* Sybase ASE
* IBM DB2
* Informix
* Microsoft SQL Server
* NexusDB
* Open Access
* Oracle
* Paradox
* Progress
* Sybase

Todos estos son DBMS (DataBase Manager System o Sistemas de Gestión de Bases de Datos). La pregunta es ¿cuál?, porque la sintaxis y la forma de trabajo no es la misma en todos ellos.
Hay un conjunto de operaciones que se realizan en los SP de una forma en MS SQL Server y de otra forma en Oracle, y de forma distinta en MySQL...
Pregunta sobre Procedimientos almacenados o Cursores

--------------------------------------------------------------------------------
Hola..

Estoy utilizando Microsoft SQL Server Management studio version 9.00.1399.00
  #7 (permalink)  
Antiguo 24/11/2008, 15:02
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

Seria bueno si colocas ejemplo con dato pseudoreal que manejes para que quede claro lo que deseas, pero a simple vista parece que tu solucion es un procedure.
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #8 (permalink)  
Antiguo 25/11/2008, 16:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

Cita:
Iniciado por Thumper Ver Mensaje
Seria bueno si colocas ejemplo con dato pseudoreal que manejes para que quede claro lo que deseas, pero a simple vista parece que tu solucion es un procedure.
no comprendo pseudoreal?? disculap soy novatillo
  #9 (permalink)  
Antiguo 25/11/2008, 17:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Pregunta sobre Procedimientos almacenados o Cursores

Bueno, partiendo del detalle que el MS SQL Server 2005 admite todos los formatos anteriores, con sólo googlear un poquito habrías encontrado esto, por ejemplo:
Código:
set ANSI_NULLS ON
ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON
QUOTED_IDENTIFIER ON

go

-- En este Store Procedure utiliza TRY / CATH para capturar excepciones

ALTER PROCEDURE [dbo].[ingresarSistema]
PROCEDURE [dbo].[ingresarSistema]

-- Add the parameters for the stored procedure here
-- Add the parameters for the stored procedure here

@Nomb NVARCHAR(50),
NVARCHAR(50),

@Contr NVARCHAR(50)
NVARCHAR(50)

AS

BEGIN TRY
TRY

SELECT Nombre, Contrasena
SELECT Nombre, Contrasena

FROM usuarioSistema
FROM usuarioSistema

WHERE(Nombre = @Nomb AND Contrasena = @Contr)
WHERE(Nombre = @Nomb AND Contrasena = @Contr)

PRINT 'USUARIO CORRECTO'
PRINT 'USUARIO CORRECTO'

END TRY
TRY

BEGIN CATCH
CATCH

PRINT 'USUARIO INCORRECTO'
PRINT 'USUARIO INCORRECTO'

END CATCH
CATCH
Lo que ya te da una idea de cómo hacerlo.
¿Me estoy acercando?
En este caso lo que debes hacer es precisamente razonar la forma de programar tus búsquedas, especialemente las instrucciones de control de flujo, las cuales puedes encontrar en Lenguaje de control de flujo (Transact-SQL). Eso no lo puedo hacer por tí porque yo no conozco la estructura de tu base de datos y sus relaciones.


Lo único que debes recordar, es que el SQL se programa en forma lineal. No es POO.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:04.