Legen Sie data in zwei temporäre Tabellen mit einer gespeicherten Prozedur ein

Ich habe eine gespeicherte Prozedur, deren data wie folgt aussehen

Gespeicherte Prozedur

Nun, was ich will, ist, ich möchte seine data in zwei verschiedene Temp-Tabelle insert

Der erste Temp-Tisch wird diese Spalten haben

Doc_type, Doc_No, No_of_days 

Zweite Temp-Tabelle haben Spalten

 Username, DocType, No_of_days 

Ich habe es so ausprobiert:

 CREATE TABLE #table1 ( Doc_type varchar(55), Doc_No varchar(55), No_of_days varchar(55), ) INSERT INTO #table1 

Aber es wirft einen Fehler:

Falsche Syntax in der Nähe des Stichwortes 'END'.

Hier ist meine komplette gespeicherte Prozedur:

 Alter procedure GET_INWARD_REMINDER_REPORT AS BEGIN Select U.first_name + ' ' + U.last_name UserName, TH.User_ID, TY.Type_desc Document_Type, RA.mkey Reporting_To, U.Email AS UserEmail, RAU.Email AS RA1_Email, RAU.first_name + ' ' + RAU.last_name RAName, TH.Doc_No, DATEDIFF(DAY, TH.LastAction_DateTime, GETDATE()) - DATEDIFF(WK, TH.LastAction_DateTime, GETDATE()) AS No_Of_Days_Doc_Pending from inward_doc_tracking_hdr TH inner join user_mst U ON TH.User_Id = U.mkey inner join emp_mst M ON M.mkey = U.employee_mkey inner join type_mst_a TY ON TY.master_mkey = TH.doc_type inner join emp_mst RA ON RA.mkey = M.Reporting_To inner join user_mst RAU ON RAU.employee_mkey = RA.mkey where TH.Status_flag NOT IN (5,14) --- 5 for close, 14 for return and TH.To_user IS NOT NULL CREATE TABLE #table1 ( Doc_type varchar(55), Doc_No varchar(55), No_of_days varchar(55), ) INSERT INTO #table1 

Holen Sie sich alle data zu temp Tisch dann insert.

 INSERT INTO #MainTemp EXEC [GET_INWARD_REMINDER_REPORT]; INSERT INTO #table1 select Doc_type, Doc_No, No_of_days from #MainTemp INSERT INTO #table2 select Username, DocType, No_of_days from #MainTemp 

AKTUALISIERT

Sie können MainTempTable .

 Alter procedure GET_INWARD_REMINDER_REPORT AS BEGIN IF EXISTS(SELECT * FROM dbo.MainTempTable) DROP TABLE dbo.MainTempTable Select U.first_name + ' ' + U.last_name UserName, TH.User_ID, TY.Type_desc Document_Type, RA.mkey Reporting_To, U.Email AS UserEmail, RAU.Email AS RA1_Email, RAU.first_name + ' ' + RAU.last_name RAName, TH.Doc_No, DATEDIFF(DAY,TH.LastAction_DateTime,GETDATE()) - DATEDIFF(WK,TH.LastAction_DateTime, GETDATE()) AS No_Of_Days_Doc_Pending INTO MainTempTable from inward_doc_tracking_hdr TH inner join user_mst U ON TH.User_Id = U.mkey inner join emp_mst M ON M.mkey = U.employee_mkey inner join type_mst_a TY ON TY.master_mkey = TH.doc_type inner join emp_mst RA ON RA.mkey = M.Reporting_To inner join user_mst RAU ON RAU.employee_mkey = RA.mkey where TH.Status_flag NOT IN (5,14) --- 5 for close, 14 for return and TH.To_user IS NOT NULL SELECT userName, COUNT(Doc_No) CountofDocNo FROM MainTempTable GROUP BY userName END