GRY-Online.pl --> Archiwum Forum

Procedura składowana SQL 2005 - proszę o pomoc !

14.10.2006
19:18
[1]

Grzesiek [ - ! F a f i k ! - ]

Procedura składowana SQL 2005 - proszę o pomoc !

Mam problem przy tworzeniu procedury. Mianowicie chcę, by pierw został wyciągnięty pewien numer z określonej tabeli, czyli:
SELECT ID from aspnet_Users WHERE (UserID = @UserID)

Następnie chcę, by w jakiś sposób wyciągnięte w ten sposób pole ID znalazło się w parametrach wstawiania nowego wiersza:



-------------------------------------------------------------------------------------------
ALTER procedure AddTopic
@user_id int,
@topic_katId int,
@topic_title nvarchar(256),
@post_content nvarchar(max)
as
insert into [forum_topics] (topic_title, topic_userId,topic_katId)
values (@topic_title, @user_id, @topic_katId)

insert into [forum_posts] (topic_id, user_id,post_content)
values (scope_identity(), @user_id, @post_content)
Return
-------------------------------------------------------------------------------------------

Tak wygląda obecnie moja procedura. Chciałbym jeszcze wlepić tam w jakiś sposób tego SELECTA i wynik jego zawrzeć w miejscu @user_id.

Mógłby mi ktoś pomóc w tym temacie ? :-)

14.10.2006
19:50
[2]

Grzesiek [ - ! F a f i k ! - ]

^

14.10.2006
20:39
[3]

Grzesiek [ - ! F a f i k ! - ]

Nikt nie siedzi w temacie ?

14.10.2006
21:44
[4]

Grzesiek [ - ! F a f i k ! - ]

^

14.10.2006
21:47
[5]

ElNinho [ Konsul ]

no zaraz a na poczatku nie mozesz zrobic SELECT .... INTO @user_id FROM .... ?

14.10.2006
21:58
[6]

Grzesiek [ - ! F a f i k ! - ]

ElNinho ---> ja potrzebuję mieć tego selecta i te dwa inserty w jednej procedurze składowanej. Chodzi o to, bym przypisal jakiejś zmiennej wynik selecta, a następnie użył go w insertach. Jednak nie wiem jak to zrobić.

14.10.2006
22:00
[7]

wysia [ Generaďż˝ ]

Normalnie. SELECT INTO @zmienna, a potem INSERT VALUES (@zmienna). Co nie dziala?

14.10.2006
22:26
[8]

Grzesiek [ - ! F a f i k ! - ]

wysia ---> czyli "SELECT ID INTO @zmienna from aspnet_Users where UserID=@UserID" ?

14.10.2006
22:45
[9]

ElNinho [ Konsul ]

dokladnie

14.10.2006
22:51
[10]

Grzesiek [ - ! F a f i k ! - ]

Niestety nie działa.

W tym przypadku:

ALTER procedure AddTopic
@UserId nvarchar(256),
@topic_katId int,
@topic_title nvarchar(256),
@post_content nvarchar(max),
@ID int

as

SELECT uID INTO @ID from aspnet_Users where UserID=@UserID

insert into [forum_topics] (topic_title, topic_userId,topic_katId)
values (@topic_title, @ID, @topic_katId)

insert into [forum_posts] (topic_id, user_id,post_content)
values (scope_identity(), @ID, @post_content)
Return

Błąd składni tam, gdzie pogrubione. Jeśli opuszczę "@" przy Select uID INTO ... to nie mam jak się odwołać w insertach do wartości z Selecta ...

14.10.2006
22:59
[11]

ElNinho [ Konsul ]

może to Ci się przyda szczerze powiedziawszy nie znam za bardzo składni SQL Server 2005, w Oraclu "siedzę" :)

15.10.2006
00:05
smile
[12]

Grzesiek [ - ! F a f i k ! - ]

Szukam nieustannie i nie znajduję rozwiązania żadnego...

15.10.2006
10:19
[13]

Grzesiek [ - ! F a f i k ! - ]

Ktoś wie ?

15.10.2006
10:44
smile
[14]

YogiYogi [ Konsul ]

Nie mam teraz pod reka mojego uluiobionego 2005 al to przeciez robisz tak:

SELECT uID = @ID from aspnet_Users where UserID=@UserID

bo przeciez nie wrzucasz do tabeli ani nie korzystasz z kursora wiec po co into w prostym selectcie.
Potem insertujesz jak trzeba ot i cala filozofia

15.10.2006
11:01
[15]

Grzesiek [ - ! F a f i k ! - ]

YogiYogi ---> wielkie dzięki :-) O to chodziło.

Może masz jakieś ciekawe książki/ebooki/tutoriale odnośnie procedur, bo wczoraj przetrząsnąłem internet i nic nie wyszukałem, co by mi mogło pomóc ...

15.10.2006
11:14
smile
[16]

YogiYogi [ Konsul ]

Grzesiek -->

:)
Po ponad 7 latach praktyki z MSSQLem to jakos tak moge stwierdzic, ze najlepsza jednak byla dokumentacja Microsoftu :)
Tam jest wszystko wraz z przykladami.
Pytanie co Cie bardziej interesuje w tej chwili - programowanie w T-SQLu czy administracja serwerem ?

© 2000-2026 GRY-OnLine S.A.