如何根据条件在表中插入数据 [英] How to insert data in table based on condition

查看:424
本文介绍了如何根据条件在表中插入数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一张桌子。其中有很多列,如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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆