Ⅰ sql语句插入前做判断
declare @a varchar(50) --定义一个变量为a用于存储去除的字段A
select @a =A from 表名 where 条件 --如果有多条字段 你就需要通过游标循环了
if @a=11
begin
插入语句
end
if @a=31
begin
插入语句
end
望采纳!!!
Ⅱ sql insert语句加入条件判断怎么写
---不知道你说的是哪种情况,我理解的有2种,1是对插入源进行过滤,2是对插入的某些值作判断,是某个特定值时转换成另一个值
--情况1:使用InsertIntoSelect语法实现
--通过拼接结果集作为Select数据源之后可以加Where条件
InsertIntoYourTable(id,name,status,remark)
Selectid,name,status,remarkFrom(
Select1asid,'张三'asname,'在职'asstatus,'没有备注'asremarkUnionSelect2,'李四','离职',''
)assWhereid>2Andid<5--条件
--情况2:给插入值作特殊判断
InsertIntoYourTable(id,name,status,remark)
Selectid,name,CaseWhenstatus='在职'Then1WHenstatus='离职'Then2Else0End,remarkFrom(
Select1asid,'张三'asname,'在职'asstatus,'没有备注'asremarkUnionSelect2,'李四','离职',''
)ass
Ⅲ sql insert语句加入条件判断怎么写
---不知道你说的是哪种情况,我理解的有2种,1是对插入源进行过滤,2是对插入的某些值作判断,是某个特定值时转换成另一个值
--情况1:使用Insert Into Select语法实现
--通过拼接结果集作为Select数据源之后可以加Where条件
Insert Into YourTable (id,name,status,remark)
Select id,name,status,remark From (
Select 1 as id,'张三' as name,'在职' as status,'没有备注' as remark Union Select 2,'李四','离职',''
) as s Where id>2 And id<5--条件
--情况2:给插入值作特殊判断
Insert Into YourTable (id,name,status,remark)
Select id,name,Case When status='在职' Then 1 WHen status='离职' Then 2 Else 0 End,remark From (
Select 1 as id,'张三' as name,'在职' as status,'没有备注' as remark Union Select 2,'李四','离职',''
) as s
Ⅳ 怎么判断sql语句是否插入成功
执行插入语句,如果不报错就说明插入成功。当然,还可以再次查询一下刚才插入的值,如果存在就证明插入成功
Ⅳ SQL语句怎么加判断
selectcasewhenall_num!=0thenBidSalesPrice/all__newSql
Ⅵ 在sql 中插入语句怎么进行判断
没明白你问的问题,插入就直接插入了,列数不匹配或者不允许空值等约束,sql就自动报错了,
如果你说当你插入数据后 会触发某个时间 可以create一个触发器。
Ⅶ 关于insert into 里,带条件判断的sql语句怎么写
1、方法一
IF NOT EXISTS(SELECT * FROM TABLE_NAME WHERE FILED1 = 1 ) THEN
INSERT INTO TABLE_NAME VALUES(1
2、将要插入的数据先写入临时表,然后用
INSERT INTO TABLE_NAME
SELECT * FROM #TEMP_TABLE A LEFT JOIN TABLE_NAME ON A.FILED1 = B.FIELD1 WHERE
B.FILED1 IS NULL
(7)插入sql语句判断扩展阅读:
基本语句
1、数据记录筛选:
sql="select * from 数据表 where字段名 = 字段值 order by 字段名[desc]"(按某个字段值降序排列,默认升序ASC)。
sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]"
sql="select top 10 * from 数据表 where字段名=字段值 order by 字段名 [desc]"
sql="select * from 数据表 where字段名in ('值1','值2','值3')"
sql="select * from 数据表 where 字段名 between 值1 and 值2"
sql="select 列名1,列名2 from 数据表 where 字段名=字段值 group by 列名1,列名2 " (group by 用来分组,并且只有出现自group by 中的列名,才允许出现在select 语句中)。
2、更新数据记录:
sql="update 数据表 set字段名=字段值 where 条件表达式"
sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式"
3、删除数据记录:
sql="delete from 数据表 where 条件表达式"
sql="delete from 数据表" (将数据表所有记录删除)
Ⅷ 如何在SQL中设置插入时判断表中是否有该数据
是这样的,insertinto...values...语句不允许和where子句一起使用的(子查询追加insertinto...select...则可以在子查询里使用where子句)。要实现题主的这个需求,只能通过应程序端编程或在数据库端的存储过程里解决。
补充回答
后来我尝试了一下用insertinto...select..变通一下单凭SQL也可以解决,我在ACCESS里测试这个思路通过了。由于身边没有MSSQL环境,请题主测试下列代码,我想应该也是可以的
insertintotbTeam_dailyselect
top1N'2011-12-2',N'3组',N'',N'23'fromtbTeam_daily
wherenotexists(select1fromtbTeam_daily
wheretdate=N'2011-12-2'andteamName=N'4组');
Ⅸ 如何判断插入的 SQL 语句是否执行成功
INSERTINTO[table_name](.....)
VALUES(....)
if@@error<>0or@@rowcount<>1
begin
raiserror('写入时错误',16,1)
return
end
说明:
@@error此函数可以捕获执行时发生的错误编号,若不为0,则表示插入失败;
@@rowcount此函数可以捕获插入语句所影响的行数,若不为1,则表示插入时出现了问题。
Ⅹ 如何判断插入的 SQL 语句是否执行成功
如果表中有自增ID列在你插入的语句后面加一句select @@IDENTITY;如:insert into table1(name)values('123');select @@IDENTITY;意思是返回刚插入的自增列的值,判断返回值大于0就是插入成功