• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

skcratch

SQL SERVER - Exemplo de Stored Procedure

5 mensagens neste tópico

Viva!

Tenho uma tabela Socio que se encontra relacionada com uma tabela Morada, Contacto Telefónico e E-mail, de modo a representar os dados pessoais dos Sócios.

Atributos de Sócio

Nome - NVARCHAR(50)

NumBI - CHAR(9)

...

Atributos de Morada

Rua - NVARCHAR(50)

Localidade - NVARCHAR(30)

Será que alguém me poderia dar um exemplo de uma Stored Procedure que permita armazenar esta informação nas diferentes tabelas? Tenho alguma dificuldade em programar esta Stored Procedure, já que não percebo bem o INNER JOIN.

Grato desde já por qualquer ajuda!

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

não consegui perceber para que é que querias o Stored Procedure...

a tua ideia é fazer uma "função" que receba os dados e os insira nas várias tabelas?

de qualquer forma, uma coisa muito boa que o SQL Server tem, é a ajuda, era capaz de ser boa ideia consultá-la :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Exactamente! É isso mesmo que eu pretendo; definir funções que permitam inserir dados em várias tabelas. Em relação às Stored Procedures, tenho que implementar todos os Use Cases da minha aplicação com Stored Procedures (exigência do professor).

Grato desde já por qualquer ajuda!

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então, fazes um INSERT INTO para cada uma das tabelas.

CREATE PROCEDURE InserirSocio(@nome nvarchar(50),@numBI char(9), ... @rua nvarchar(50), ...)
AS
INSERT INTO Socios(nome,numBI, etc, etc, etc) VALUES(@nome,@numBI, @etc, @etc, ... )

INSERT INTO Morada(codigo_socio,rua,localidade, ... ) VALUES(@@IDENTITY,@rua,@localidade, ... etc etc )

Considerei que a tua chave primaria da tabela sócios é o teu código de sócio e é autoincrementado. Neste caso o

@@IDENTITY

devolve-te o ultimo registo inserido na tabela sócios, daí poder aproveitar para o inserir na tabela Morada de forma a identificar de quem é a referida morada.

Espero ter ajudado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva!

Obrigado desde já pela ajuda que foi muito útil!

Cumps!

:)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora