Below is the code of stored procedure. This will create a temp table, put data in it and after selection drop the temp table. Hope this will help you.
CREATE PROCEDURE PutData
(
@Request_ID int,
@Request_Name nvarchar(64),
@Request_Description nvarchar(255),
@Request_Date_Start datetime,
@Data_Value_Text nvarchar(4000)
)
AS
CREATE TABLE #Test
(
RequestID INT,
RequestName VARCHAR(500),
RequestDescription VARCHAR(5000),
RequestDateStart DATETIME,
ValueText TEXT,
Description VARCHAR(5000)
)
INSERT INTO #Test
SELECT
dbo.WFPROCESS_INST.ID_PROCESS_INST AS REQUEST_ID
, dbo.WFPROCESS_INST.NAME AS REQUEST_NAME
, dbo.WFPROCESS_INST.DESCRIPTION AS REQUEST_DESCRIPTION
, dbo.WFPROCESS_INST.DATE_START AS REQUEST_DATE_START
, dbo.WFDATASET_VALUE.VALUE_TEXT
, dbo.WFRELDATA.DESCRIPTION
FROM dbo.WFPROCESS_INST
INNER JOIN dbo.WFPROCESS ON dbo.WFPROCESS_INST.ID_PROCESS = dbo.WFPROCESS.ID_PROCESS
INNER JOIN dbo.WFPROCESS_INST_RELDATA ON dbo.WFPROCESS_INST.ID_PROCESS_INST = dbo.WFPROCESS_INST_RELDATA.ID_PROCESS_INST
INNER JOIN dbo.WFRELDATA ON dbo.WFPROCESS_INST_RELDATA.ID_RELDATA = dbo.WFRELDATA.ID_RELDATA
INNER JOIN dbo.WFDATASET ON dbo.WFPROCESS_INST_RELDATA.ID_DATASET = dbo.WFDATASET.ID_DATASET
LEFT OUTER JOIN dbo.WFDATASET_VALUE ON dbo.WFDATASET.ID_DATASET = dbo.WFDATASET_VALUE.ID_DATASET
INNER JOIN dbo.USERS ON dbo.WFPROCESS_INST.ID_USER_REQUESTER = dbo.USERS.ID_USER
INNER JOIN dbo.DIRECTORY ON dbo.USERS.ID_DIRECTORY = dbo.DIRECTORY.ID_DIRECTORY
INNER JOIN dbo.WFPROCESS_RELDATA ON dbo.WFPROCESS.ID_PROCESS = dbo.WFPROCESS_RELDATA.ID_PROCESS AND dbo.WFRELDATA.ID_RELDATA = dbo.WFPROCESS_RELDATA.ID_RELDATA
WHERE
(dbo.WFDATASET.ID_DATATYPE <> N'FILE') AND (dbo.WFPROCESS_INST.TEST <> N'Y')
AND (dbo.WFPROCESS_INST.DESCRIPTION = N'Purchasing Requisition')
SELECT * FROM #Test
DROP TABLE #Test
GO