现有“表A,列1、列2,列3”、“表B,列1,列2”
根据一个值,查询表A列1,取第一行表A列2的值,判断:
若表A列2的值大于10,则删除此列,并输出此行,
若表A列2的值小于等于10,则删除此行,将表A列2,插入表B列1,然后输出表B的这一整行数据。
基本目的是,不想让人知道表A列2列3,也不想让人知道表B其他列的计算方法。
请问这个事务要怎么实现
现有“表A,列1、列2,列3”、“表B,列1,列2”
根据一个值,查询表A列1,取第一行表A列2的值,判断:
若表A列2的值大于10,则删除此列,并输出此行,
若表A列2的值小于等于10,则删除此行,将表A列2,插入表B列1,然后输出表B的这一整行数据。
基本目的是,不想让人知道表A列2列3,也不想让人知道表B其他列的计算方法。
请问这个事务要怎么实现
declare @temp int
select top 1 @temp=列2 from 表A where 列1=xxx
if (@temp>10)
begin
update 表A set 列2=null where 列2=@temp and 列1=xxx--删除此列
select 列1 as [1],列2 as [2],列3 as [3] from 表A where 列2 is null and 列1=xxx--输出此行,不显示列
end
if (@temp<=10)
begin
delect 表A where 列2=@temp and 列1=xxx--删除此行
insert into 表B (列1) values (@temp)--插入表B列1
select 列1 as [1],列2 as [2] from 表B where 列1 =@temp--输出此行
end