joins- как передать параметр в хранимой процедуре для выполнения запроса на соединение - PullRequest
0 голосов
/ 24 апреля 2010

Я использовал соединения для получения данных из двух таблиц под общим именем, как

SELECT userValidity.UserName, userValidity.ValidFrom,userValidity.ValidUpTo,userValidity.TotalPoints, 
persons.SenderID
FROM userValidity
INNER JOIN persons
ON userValidity.Username=tbl_persons.Username 

Но мне нужно выполнить этот запрос только с тем именем пользователя, которое я передаю в качестве параметра в хранимой процедуре.

Как передать имя пользователя в хранимой процедуре в эти объединения.

alter procedure GetNameIDUserInformation
(
@user varchar(max)
)
as
begin

SELECT userValidity.UserName, userValidity.ValidFrom,userValidity.ValidUpTo,userValidity.TotalPoints, 
persons.SenderID
FROM userValidity
INNER JOIN persons
ON userValidity.Username=tbl_persons.Username 
end

В этом SP, где я должен передать пользовательский параметр, чтобы получить единственную строку моей пользовательской записи?

1 Ответ

1 голос
/ 24 апреля 2010

Что произойдет, если вы просто добавите WHERE userValidity.Username=user к запросу? :

alter procedure GetNameIDUserInformation ( @user varchar(max) ) as
begin
    SELECT userValidity.UserName,
    userValidity.ValidFrom,userValidity.ValidUpTo,
    userValidity.TotalPoints, persons.SenderID
    FROM userValidity
    INNER JOIN persons
    ON userValidity.Username=tbl_persons.Username end
    WHERE userValidity.Username=user

Если вы получили синтаксическую ошибку около user, рассмотрите возможность использования другого имени, поскольку user является зарезервированным ключевым словом в некоторых СУБД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...