私はCTEの結果を一時テーブルに入れる必要があるので、後でSPで一時テーブルを使用することができます。私は新しいので、私は困難を経験している。私を助けてください。一時テーブルにCTEの結果を入れることができません
CREATE TABLE #TempTable1 (
tmp_id INT NULL,
tmp_parent_id INT NULL,
temp_level VARCHAR(50) NULL,
temp_order VARCHAR(50) NULL,
temp_promoter_ID INT NULL
);
DECLARE @promoterid INT = (
SELECT
p.promoterid
FROM dbo.Promoters p
INNER JOIN dbo.UserProfile u
ON u.UserId = p.UserProfileId
WHERE u.UserName = @Username
);
;WITH Empl_Tab (Id, ParentId, LEVEL, [Order], promoterid) AS (
SELECT
promoters.UserProfileId AS ID,
promoters.Level1 AS ParentID,
0 AS LEVEL,
CONVERT([VARCHAR](MAX), promoters.PromoterId) AS [Order],
promoters.PromoterId
FROM promoters
WHERE Promoters.PromoterId = @promoterid
UNION ALL
SELECT
p.UserProfileId AS ID,
p.Level1 AS ParentID,
Empl_Tab.LEVEL + 1 AS LEVEL,
Empl_Tab.[Order] + CONVERT([VARCHAR](30), p.PromoterId) AS [Order],
p.PromoterId
FROM Promoters p
INNER JOIN Empl_Tab
--inner join dbo.UserProfile u on u.UserId= Promoters.UserProfileId
ON Empl_Tab.promoterid = p.Level1
--where p.Active!=2
)
--select Id, ParentId, LEVEL,[Order],promoterid from Empl_Tab
INSERT INTO #TempTable1 --(tmp_id, tmp_parent_id, temp_level, temp_order, temp_promoter_ID)
SELECT *
FROM Empl_Tab;
今、私は一時テーブルにEmp1_Tab
結果を入れたいと、この同じSPの後の一時テーブルのデータを使用したいです。
ここで問題は何ですか?エラーメッセージはありますか? –
まず、私は、Emp1_Tabデータが一時テーブルに割り当てられているかどうかわかりません。第2回私は合計spを実行しているときにエラー "メッセージ8152、レベル16、状態10、プロシージャTeamCustomersListNew、行42を与えています 文字列またはバイナリデータが切り捨てられます。 – Sam