none
SELECT RRS feed

  • Pergunta

  • Pessoal,

     

    Tinha 2 tabelas com um relacionamento de muitos para muitos, criei uma terceira tabela e quebrei esse relacionamento de UM PARA MUITOS.

    Vejam a estrutura abaixo.

    Eu preciso fazer um SELECT numa procedure que me traga somente os eventos cadastrados para um determinado usuario que o idUsuarIo vira de uma session.

     

    Comecei fazer essa procedure dessa maneira, mas não está funcionando:

     

    ALTER PROC spEventoLista

    @idUsuario

    AS

    SELECT e.idEvento, e.NomeCliente, e.NomeEvento, e.PeriodoDe, e.PeriodoA, ue.idUsuario

    FROM Eventos e inner join UsuariosEventos ue

    on ue.idUsuario = @idUsuario order by NomeCliente

     

    ------------------------------ TABELAS DO SISTEMA

     

    CREATE TABLE [dbo].[Eventos](

    [idEvento] [int] IDENTITY(1,1) NOT NULL,

    [NomeCliente] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,

    [NomeEvento] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,

    [PeriodoDe] [datetime] NULL,

    [PeriodoA] [datetime] NULL,

    [Historico] [nvarchar](max) COLLATE Latin1_General_CI_AS NULL,

    [ObjetivoCliente] [nvarchar](max) COLLATE Latin1_General_CI_AS NULL,

    [MaterialApoio] [nvarchar](max) COLLATE Latin1_General_CI_AS NULL,

    [Observacoes] [nvarchar](max) COLLATE Latin1_General_CI_AS NULL,

    [Palestrantes] [nvarchar](max) COLLATE Latin1_General_CI_AS NULL,

    [DicasCliente] [nvarchar](max) COLLATE Latin1_General_CI_AS NULL,

    CONSTRAINT [PK_Eventos] PRIMARY KEY CLUSTERED

    (

    [idEvento] ASC

    )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY]

     

     

     

    CREATE TABLE [dbo].[Usuarios](

    [idUsuario] [int] IDENTITY(1,1) NOT NULL,

    [idCliente] [int] NULL,

    [Nome] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,

    [Empresa] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,

    [Senha] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,

    [Criacao] [datetime] NULL CONSTRAINT [DF_Usuarios_Criacao] DEFAULT (getdate()),

    [NivelAcesso] [int] NULL,

    [CPF] [nvarchar](50) COLLATE Latin1_General_CI_AS NULL,

    [Status] [int] NULL CONSTRAINT [DF_Usuarios_Status] DEFAULT ((1)),

    CONSTRAINT [PK_Usuarios] PRIMARY KEY CLUSTERED

    (

    [idUsuario] ASC

    )WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]

    ) ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[Usuarios] WITH CHECK ADD CONSTRAINT [FK_Usuarios_Clientes] FOREIGN KEY([idCliente])

    REFERENCES [dbo].[Clientes] ([idCliente])

    GO

    ALTER TABLE [dbo].[Usuarios] CHECK CONSTRAINT [FK_Usuarios_Clientes]

     

     

     

     

    CREATE TABLE [dbo].[UsuariosEventos](

    [idUsuario] [int] NULL,

    [idEvento] [int] NULL

    ) ON [PRIMARY]

    GO

    ALTER TABLE [dbo].[UsuariosEventos] WITH CHECK ADD CONSTRAINT [FK_UsuariosEventos_Eventos] FOREIGN KEY([idEvento])

    REFERENCES [dbo].[Eventos] ([idEvento])

    GO

    ALTER TABLE [dbo].[UsuariosEventos] CHECK CONSTRAINT [FK_UsuariosEventos_Eventos]

    GO

    ALTER TABLE [dbo].[UsuariosEventos] WITH CHECK ADD CONSTRAINT [FK_UsuariosEventos_Usuarios] FOREIGN KEY([idUsuario])

    REFERENCES [dbo].[Usuarios] ([idUsuario])

    GO

    ALTER TABLE [dbo].[UsuariosEventos] CHECK CONSTRAINT [FK_UsuariosEventos_Usuarios]

    terça-feira, 15 de maio de 2007 18:57

Respostas

  • Oi !

     

    Code Snippet

    ALTER PROC spEventoLista

    @idUsuario int

    AS

    SELECT e.idEvento, e.NomeCliente, e.NomeEvento, e.PeriodoDe, e.PeriodoA, ue.idUsuario

    FROM Eventos e inner join UsuariosEventos ue

    on ue.idEvento = e.idEvento where ue.idUsuario=@idUsuario order by NomeCliente

     

    []'s

     

    quarta-feira, 16 de maio de 2007 03:17

Todas as Respostas