Вложенный запрос как - PullRequest
0 голосов
/ 31 мая 2011
ALTER PROCEDURE dbo.updateadmin
(
     @ReportRead char(10),
     @Date date,@EmpName varchar(50),
     @Subject nchar(50)
)
AS
    insert into Emp_ReportUpdate (ReportRead,[Date],EmpName,Subject)
    values(@ReportRead,@Date,@EmpName,@Subject)
    RETURN

Это моя процедура, и в @EmpName мне нужно использовать как оператор выбора, чтобы получить данные из другой таблицы и получить их в @EmpN.Также, если у кого-то есть более короткий метод, направьте меня.

Ответы [ 3 ]

1 голос
/ 31 мая 2011

INSERT..SELECT.

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

ALTER PROCEDURE dbo.updateadmin

    (
    @ReportRead char(10),@Date date,@EmpName varchar(50),@Subject nchar(50)
    )

AS
    insert into Emp_ReportUpdate (ReportRead,[Date],EmpName,Subject) 
    select @ReportRead, @Date, someOtherCol, @Subject
    from myothertable
    where somecol = @EmpName
RETURN
0 голосов
/ 31 мая 2011

Вы также можете использовать CTE . Это может быть полезно в будущем, если ваша хранимая процедура может стать более сложной, и этот запрос может использоваться более одного раза. Чтобы избавиться от дубликатов, мы можем использовать CTE.

ALTER PROCEDURE dbo.updateadmin

    (
        @ReportRead char(10),
        @Date date,
        @EmpName varchar(50),
        @Subject nchar(50)
    )

AS
    With CTE
    AS
    (
        Select YourColumnName from YourTableName Where YourColumnName = @EmpName
    )

    insert into Emp_ReportUpdate (ReportRead,[Date],EmpName,Subject) 
    Select @ReportRead, @Date, YourColumnName, @Subject
    From CTE

    RETURN
0 голосов
/ 31 мая 2011
 ALTER PROCEDURE dbo.updateadmin
 (
     @ReportRead char(10), @Date date, @EmpName varchar(50), @Subject nchar(50)
 )  AS
 SELECT @EmpName = somecol FROM OTHERTABLE

 insert into Emp_ReportUpdate
 (ReportRead, [Date], EmpName, Subject)
 VALUES 
 (@ReportRead, @Date, @EmpName, @Subject)

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