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

Variables internas en procedimiento almacenado

Estas en el tema de Variables internas en procedimiento almacenado en el foro de SQL Server en Foros del Web. Buenas Amigos necesito una gran ayuda lean desde el inicio Tengo tres tablas en SQL server 2008 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original CREATE TABLE ...
  #1 (permalink)  
Antiguo 22/11/2012, 19:56
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Variable Interna Procedimientos Almacenados

Buenas Amigos necesito una gran ayuda lean desde el inicio
Tengo tres tablas en SQL server 2008

Código SQL:
Ver original
  1. CREATE TABLE Grados
  2. (
  3.     Id_Grado INT IDENTITY(1,1) PRIMARY KEY NOT NULL, ---autogenerado
  4.     Detalle VARCHAR(20) NOT NULL,
  5.     FechaRegistrado DATE NOT NULL,
  6.     FechaModificado DATE NOT NULL
  7. )
  8. GO
  9. INSERT INTO Grados VALUES('Priamrio', '13-11-12', '13-11-12')
  10. INSERT INTO Grados VALUES('Secundario', '13-11-12', '13-11-12')
  11. INSERT INTO Grados VALUES('Terciaro', '13-11-12', '13-11-12')
  12. SELECT * FROM Grado
  13.  
  14. CREATE TABLE Usuario
  15. (
  16.     Id_Usuario INT IDENTITY(1,1) PRIMARY KEY NOT NULL,  ---autogenerado
  17.     CI INT NOT NULL,
  18.     NalCI VARCHAR(10) NOT NULL,
  19.     Nombre VARCHAR(30) NOT NULL,
  20.     Apellido VARCHAR(30) NOT NULL,
  21.     Telefono INT NOT NULL,
  22.     Direccion VARCHAR(100) NOT NULL,
  23.     Activo INT  NOT NULL DEFAULT 1,
  24.     FechaRegistrado DATE NOT NULL,
  25.     FechaModificado DATE NOT NULL,
  26.     Cod_Grado INT NOT NULL,
  27.     FOREIGN KEY(Cod_Grado) REFERENCES Grados(Id_Grado),
  28. )
  29. GO
  30. CREATE TABLE LogearSistema
  31. (
  32.     Usuario VARCHAR(20) NOT NULL,
  33.     Contrasenia VARCHAR(20) NOT NULL,
  34.     FechaRegistrado DATE NOT NULL,
  35.     FechaModificado DATE NOT NULL,
  36.     Cod_Usuario INT PRIMARY KEY NOT NULL,
  37.     FOREIGN KEY(Cod_Policia) REFERENCES Policia(Id_Policia)
  38. )
  39. GO
  40.  
  41. Ahora tengo un procedimiento almacenado de Registrar al Usuario con todos sus acciones
  42.  
  43. CREATE PROCEDURE PA_Usuario
  44.     @CI INT,
  45.     @NalCI VARCHAR(10),
  46.     @Nombre VARCHAR(30) ,
  47.     @Apellido VARCHAR(30),
  48.     @Telefono INT,
  49.     @Direccion VARCHAR(100),
  50.     @Activo INT,
  51.     @FechaRegistrado DATE,
  52.     @FechaModificado DATE,
  53.     @Cod_Grado INT,
  54.    
  55.     --Logear Sistema
  56.     @Usuario VARCHAR(20),
  57.     @Contrasenia VARCHAR(20),
  58.    
  59.     --Asignar Cargo
  60.     @Cod_Cargos INT
  61. AS
  62.    
  63.     INSERT INTO Usuario VALUES(@CI, @NalCI, @Nombre,
  64.         @Apellido, @Telefono, @Direccion, @Activo, @FechaRegistrado,
  65.         @FechaModificado, @Cod_Grado);
  66.      DECLARE @id INT = SELECT Id_Usuario FROM Usuario WHERE CI = @CI ---OJO
  67. INSERT INTO LogearSistema VALUES(@Usuario, @Contrasenia, @FechaRegistrado, @FechaModificado, @id);
  68.  
  69. Como Puedo Sacar un valor y poner a una Variable
  70. Ejemplo Este el caso de
  71. DECLARE @id INT = SELECT Id_Usuario FROM Usuario WHERE CI = @CI
Este caso deseo sacar el Id del usuario a una variable haciendo la comparación del Carnet de Identidad, ahora me sale error en Select me dice "Sintaxis Incorrecta cerca de 'Select'", ayudenme para tener este valor en la variable que declare

Última edición por gnzsoloyo; 23/11/2012 a las 14:01 Razón: Codigo SQL sin etiquetar
  #2 (permalink)  
Antiguo 22/11/2012, 20:16
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Variable Interna Procedimientos Almacenados

Se puede definir e inicializar una variable a la vez, solamente si el valor es fijo.
Intenta así:

Código SQL:
Ver original
  1. DECLARE @id INT;
  2. SELECT @id =Id_Usuario FROM Usuario WHERE CI = @CI;
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
  #3 (permalink)  
Antiguo 22/11/2012, 21:48
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Variable Interna Procedimientos Almacenados


muchisimas gracias amigo por tu ayuda te devo una
  #4 (permalink)  
Antiguo 23/11/2012, 08:10
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: Variables internas en procedimiento almacenado

No cuelgues mensajes de un post ajeno, y menos aún resucites temas simplemente porque se parecen al tuyo.
Tal como dicen las Políticas de Uso, esos temas serán cerrados sin previo aviso.
__________________
¿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 23/11/2012, 13:19
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: Variables internas en procedimiento almacenado

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No cuelgues mensajes de un post ajeno, y menos aún resucites temas simplemente porque se parecen al tuyo.
Tal como dicen las Políticas de Uso, esos temas serán cerrados sin previo aviso.
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog
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 18:59.