@relation
이라는 변수에 (쿼리에서 파생 된) 테이블을 할당하려고하는 저장 프로 시저가 있습니다. 현재 쓸데없는 시도가 있습니다.로컬 테이블을 채우는 방법?
ALTER PROCEDURE [dbo].[getAllBookings]
@mode INT
AS
BEGIN
SET NOCOUNT ON;
--==========
DECLARE @relation AS TABLE(
id INT PRIMARY KEY, code VARCHAR(10), [description] VARCHAR(255),
environment VARCHAR(10), systems VARCHAR(50), [start] SMALLDATETIME,
[end] SMALLDATETIME, [user] VARCHAR(50), approved BIT, rejected BIT
);
SELECT * INTO [@relation] FROM
SELECT
B_ID AS 'id',
B_Change_ID AS 'code',
B_Description AS 'description',
E_Name AS 'environment',
S_System_Name AS 'systems',
dbo.fromDateTime(B_Start_Date) AS 'start',
dbo.fromDateTime(B_End_Date) AS 'end',
U_Name AS 'user',
dbo.isAppr(B_Reviewed, B_Confirmed) AS 'approved',
dbo.isRej(B_Reviewed, B_Confirmed) AS 'rejected'
FROM ((((dbo.Bookings INNER JOIN dbo.Users ON B_User_ID = U_ID)
INNER JOIN dbo.Environment ON B_Environment_ID = E_ID)
INNER JOIN dbo.BookingApps ON B_ID = BA_bookingID)
INNER JOIN dbo.EnvironmentSystems ON BA_bookingSystemID = ES_ID)
INNER JOIN dbo.System_List ON ES_SystemID = S_ID;
--==========
IF (@mode = 0)
DELETE FROM @relation WHERE (approved = 0);
SELECT * FROM @relation;
END
내가 뭘 잘못하고 있니?
P. [@relation]이 @relation 인 경우를 이미 시도했습니다. 그리고 아직도 운이 없다. 나는 또한 행운을 빌어 요()에서 쿼리를 캡슐화하려고 시도했습니다. –
코드를 실행하면 어떻게됩니까? 오류가 있습니까? 뭐야? – Jon