我想创建临时表并通过存储过程插入数据 [英] I want to create temporary table and insert data through store procedure
本文介绍了我想创建临时表并通过存储过程插入数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
先生
i want to create temporary table and insert data through store procedure and query
<pre>Alter PROCEDURE dbo.sp_ExpenMonthWise
(
@schemeno char(20),
@sch_amount nvarchar(max),
@Desciption nvarchar(2000),
@sdate smalldatetime,
@Exp_upto_Premonth nvarchar(max),
@Exp_Upto nvarchar(max),
@Exp_During nvarchar(max),
@ExpUpto nvarchar(max),
@PreMonth varchar(50),
@CurrMonth varchar(50)
)
AS
BEGIN
IF OBJECT_ID('tempdb..#Temp') IS NOT NULL
BEGIN
DROP TABLE #Temp
END
CREATE TABLE #Temp
(
TempID INT IDENTITY(1,1) PRIMARY KEY, schemeno char(20), sch_amount nvarchar(max),Desciption nvarchar(2000),sdate smalldatetime,Exp_upto_Premonth nvarchar(max),
Exp_Upto nvarchar(max),Exp_During nvarchar(max),ExpUpto nvarchar(max),PreMonth Varchar(50),CurrMonth Varchar(50)
);
INSERT INTO #Temp(schemeno,sch_amount,Desciption,sdate,Exp_upto_Premonth,Exp_Upto,Exp_During,ExpUpto,PreMonth,CurrMonth) VALUES
(@schemeno,@sch_amount,@Desciption,@sdate,@Exp_upto_Premonth,@Exp_Upto,@Exp_During,@ExpUpto,@PreMonth,@CurrMonth)
DECLARE @totalRecords INT
DECLARE @I INT
SELECT @I = 1
SELECT @totalRecords = COUNT(TempID) FROM #Temp
WHILE (@I <= @totalRecords)
BEGIN
SELECT * FROM #Temp WHERE TempID = @I
SELECT @I = @I + 1
END
SELECT schemeno, sch_amount, Desciption, sdate, Exp_upto_Premonth,Exp_Upto,Exp_During,ExpUpto,PreMonth,CurrMonth
FROM #Temp
END;
循环插入代码: -
Insert code through loop:-
foreach (DataTable table in Insrtds.Tables)
{
foreach (DataRow row in table.Rows)
{
//string monyr = row["monyr"].ToString();
//var monyrarr = monyr.ToCharArray();
//string finyrr = (monyrarr[4].ToString() + monyrarr[5].ToString());
SqlCommand cmd = new SqlCommand("dbo.sp_ExpenMonthWise", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@schemeno", row["schemeno"]);
cmd.Parameters.AddWithValue("@sch_amount", row["sch_amount"]);
cmd.Parameters.AddWithValue("@Desciption", row["disp"]);
cmd.Parameters.AddWithValue("@sdate", row["schdate"]);
cmd.Parameters.AddWithValue("@Exp_upto_Premonth", row["Premonth"]);
cmd.Parameters.AddWithValue("@Exp_upto", row["ExpUpto"]);
cmd.Parameters.AddWithValue("@Exp_During", row["CurrMonExp"]);
cmd.Parameters.AddWithValue("@ExpUpto", row["ExpUptoNow"]);
cmd.Parameters.AddWithValue("@PreMonth", PreMonthName);
cmd.Parameters.AddWithValue("@CurrMonth", CurrMonthName);
cmd.ExecuteNonQuery();
我尝试过:
What I have tried:
i want to create temporary table and insert data
推荐答案
示例查询
A sample query
SELECT * INTO #tempEntity FROM (SELECT ENTITY_ID,ENTITY_NAME FROM EntityTable)
WHERE ENTITY_ID <= 3
如果您正在等待许可,请考虑一下:您可以直接前往并执行此操作。
如果这不是您所需要的,那么请从Google开始:创建临时表并插入数据通过商店程序 - Google搜索 [ ^ ]并尝试将您的问题细化为一个相当不太模糊的描述。我们无法回答你不问的问题,你这里没有问我们任何问题!
If you are waiting for permission, then consider it given: you may go right ahead and do it.
If that's not what you need, then start with Google: create temporary table and insert data through store procedure - Google Search[^] and try to refine your problem down to a rather less vague description. We can't answer a question you don't ask, and you haven't asked us any question here!
这篇关于我想创建临时表并通过存储过程插入数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文