Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2012, 19:56
floresljuanp
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 12 años, 1 mes
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