--不太明白,是这个意思吗?
create trigger t_insert on MO_RECEIVE
for insert
as
if exists(select 1 from inserted where Content='0000')
insert into send(ServiceName)
select a.ServiceName
from Service_USER a join inserted b on a.Mobile=b.Mobile
where b.Content='0000'
go
create trigger t_insert on MO_RECEIVE
for insert
as
if exists(select 1 from inserted where Content='0000')
insert into send(ServiceName)
select a.ServiceName
from Service_USER a join inserted b on a.Mobile=b.Mobile
where b.Content='0000'
go
解决方案 »
- 求一条查询语句
- 求助
- 如果出现缺号,续:想了很久,不想放弃的问题!!求解决方法!!!'一个数据汇总的问题'&能力有限,几天了没有解决.拜求各位高人!!!!&
- 一个关于记录个数的问题。想了好久了,没解决。求救!!!!!!!!!!(再线等!!!!!)
- 远程SQL Server注册连接问题,那位高手帮忙,急,在线等待
- SQL的模糊查找问题?谢谢!!!
- 奇怪的问题!关于查询的!
- 最近总搞不懂(关系除)????
- mssql能否在amd的cpu安装的问题
- 删除重复数据出错
- 一个菜鸟问题,当数据库文件在局域网的其它机子上时,如何连接?
- 我将SQLServer2000数据库备份导入SQLServer7.0不成功,请问如何解决?
select 出来是一组数据。我先写了一个触发器,但是有错:“scontent变量没用申明”CREATE trigger insert_qx_0000 on mo_receive for insert as
if exists (select * from inserted a where upper(left(a.content,4)) = '0000' and left(a.mobile,3) in ('134','135','136','137','138','139'))
begin
DECLARE @num int,@scontent varchar(140)
set @num=0
DECLARE service_Cursor CURSOR FOR
select servicename from service_user where mobile=(select mobile from inserted)
OPEN service_Cursor
FETCH NEXT FROM service_Cursor
while @num<@@cursor_rows
begin
@scontent=@scontent+@num+service_Cursor
FETCH NEXT FROM service_Cursor
end
insert into send_quick(mobile,content) select mobile,@content from *inserted
GO我最终要得到@scontent里面是:“0(service_Cursor)1(service_Cursor).....”
if exists (select * from inserted a where upper(left(a.content,4)) = '0000' and left(a.mobile,3) in ('134','135','136','137','138','139'))
begin
DECLARE @num int,@scontent varchar(140)
set @num=0
DECLARE service_Cursor CURSOR FOR
select servicename from service_user where mobile=(select mobile from inserted)
OPEN service_Cursor
FETCH NEXT FROM service_Cursor
while @num<@@cursor_rows
begin
@scontent=@scontent+@num+service_Cursor //@scontent附近有错
FETCH NEXT FROM service_Cursor
@num=@num+1 //@num附近有错
end
insert into send_quick(mobile,content) select mobile,@scontent from inserted
GO
for insert
as
set nocount on
declare @count int
declare @uname varchar(100)
set @count=0
if (select count(b.servicename) from inserted a,Service_USER b where a.mobile=b.mobile and a.content='0000')=3
begin
declare cur1 cursor for select b.servicename from inserted a,Service_USER b where a.mobile=b.mobile and a.content='0000'
open cur1
fetch next from cur1 into @uname
while @@fetch_status=0
begin
insert send(col1,col2) select @count,@uname
set @count=@count+1
fetch next from cur1 into @uname
end
close cur1
deallocate cur1
end
你理解错了,我是根据select来判断有几条记录:@num<@@cursor_rows
我又该了下我的,但“@scontent”不能迭加:CREATE trigger insert_QX_0000 on mo_receive for insert as
if exists (select * from inserted a where upper(left(a.content,4)) = '0000' and left(a.mobile,3) in ('134','135','136','137','138','139'))
begin
DECLARE @num int,@scontent varchar(140),@name varchar(50)
set @num=0
DECLARE service_Cursor CURSOR FOR
select servicename from service_user where mobile=(select mobile from inserted)
OPEN service_Cursor
FETCH NEXT FROM service_Cursor into @name
while @num<@@cursor_rows
begin
set @scontent=CAST(@num as varchar(10) )+@name
set @num=@num+1
FETCH NEXT FROM service_Cursor into @name
end
close service_Cursor
deallocate service_Cursor
insert into send_quick(mobile,content,feeusertype,feetype,feevalue,yd_lt,servicename,serviceid) select mobile,@scontent,0,'02','000010',0,'退定','0000' from inserted
end帮忙解决!!!
这句话,不能迭加! 输出时报:@scontent里是 null。
if exists (select * from inserted a where upper(left(a.content,4)) = '0000' and left(a.mobile,3) in ('134','135','136','137','138','139'))
begin
DECLARE @num int,@scontent varchar(140),@name varchar(50)
set @num=0
DECLARE service_Cursor CURSOR FOR
select servicename from service_user where mobile=(select mobile from inserted)
OPEN service_Cursor
FETCH NEXT FROM service_Cursor into @name
while @num<@@cursor_rows
begin
set @scontent=@scontent + CAST(@num as varchar(10) )+@name
set @num=@num+1
FETCH NEXT FROM service_Cursor into @name
end
close service_Cursor
deallocate service_Cursor
insert into send_quick(mobile,content,feeusertype,feetype,feevalue,yd_lt,servicename,serviceid) select mobile,@scontent,0,'02','000010',0,'退定','0000' from inserted
end