如何根据条件在表中插入数据 [英] How to insert data in table based on condition
本文介绍了如何根据条件在表中插入数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一张桌子。其中有很多列,如Empcode,FinancialYear,Quarter1,Quarter2,Quarter3,Quarter4等。
我想根据条件插入数据,所以我想要dynamicalyy插入列..
喜欢
if (@ Month = 1)
begin
set @Quart = ' Quarter' +4
end
if (@ Month = 4)
begin
set @Quart = ' Quarter' +1
结束
如果(@ Month = 7)
begin
set @Quart = ' Quarter +2
end
if (@ Month = 10)
开始
set @Quart = ' Quarter' +3
end
插入Direct_Summary_Policies(EmpCode,Year,financialYear,@ Quart)值('E28619',DATEPART(YEAR,@ FROMDATE),@ FinYaer,56000)
解决方案
有条件地创建过程和插入值。
为条件传递参数。
尝试这样做
DECLARE @ SQLString nvarchar ( 500 );
SET @ SQLString =
N ' 插入Direct_Summary_Policies(EmpCode,Year,financialYear,@ Quart)值(' E28619 ' ,DATEPART(YEAR,@ FROMDATE),@ FinYaer,56000)';
SET @ ParmDefinition = N ' @ Quart VARCHAR(30),@ FRDDATE DATETIME,@ .FinYaer INT';
EXECUTE sp_executesql @ SQLString , @ParmDefinition , @ Quart , @ FROMDATE , @FinYaer
I have a table. In which so many columns like Empcode,FinancialYear, Quarter1,Quarter2,Quarter3,Quarter4 etc.
I want to insert data based on condition so i want dynamicalyy insert column..
like
if(@Month=1)
begin
set @Quart='Quarter'+4
end
if(@Month=4)
begin
set @Quart='Quarter'+1
end
if(@Month=7)
begin
set @Quart='Quarter'+2
end
if(@Month=10)
begin
set @Quart='Quarter'+3
end
insert into Direct_Summary_Policies(EmpCode,Year,financialYear,@Quart) values('E28619',DATEPART(YEAR,@FROMDATE),@FinYaer,56000)
解决方案
Create Procedure and Insert values conditionally.
pass parameters for condition.
Try doing this
DECLARE @SQLString nvarchar(500); SET @SQLString = N'insert into Direct_Summary_Policies(EmpCode,Year,financialYear,@Quart) values('E28619',DATEPART(YEAR,@FROMDATE),@FinYaer,56000)'; SET @ParmDefinition = N'@Quart VARCHAR(30), @FROMDATE DATETIME, @FinYaer INT'; EXECUTE sp_executesql @SQLString, @ParmDefinition, @Quart, @FROMDATE, @FinYaer
这篇关于如何根据条件在表中插入数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文