| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1315 人关注过本帖
标题:sql查询语句 求助
只看楼主 加入收藏
i63283265
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-10-9
收藏
 问题点数:0 回复次数:6 
sql查询语句 求助
有1表 a
create table a
(date datetime,
 name varchar(10),
 a3 int)
现写插入触发器,如果表中有相同的日期和名称,则回滚事务,谢谢了
下面是我写的
create trigger tri_insert_a on a
for insert as
declare @d1 datetime,
        @d2 varchar(10),
        @d3 int
select @d1=date,@d2=name,@d3=a3 from inserted
if exists(select @d1 from inserted where @d1 in(select date from a))
begin
    rollback tran                  
end
事务总是回滚,及时是空表也一样插不进去
搜索更多相关主题的帖子: sql 语句 查询 
2008-10-09 22:00
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
for insert as ==>instead of insert

好累
2008-10-10 13:31
宠物在线
Rank: 1
来 自:上海
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-20
收藏
得分:0 
这个还不是很懂,不过学习了。不知道楼主解决了问题没有?
2008-10-10 15:00
伤狼
Rank: 1
等 级:新手上路
威 望:2
帖 子:58
专家分:0
注 册:2008-10-10
收藏
得分:0 
引用球球的回复  

具体不写
2008-10-10 15:02
ingbingyuw
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-10-12
收藏
得分:0 
不是要日期和名称都有才回滚吗?
if exists(select @d1 from inserted where @d1+@d2 in(select date+name from a))
这样才行吧
2008-10-12 23:34
coolma88
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-10-13
收藏
得分:0 
create trigger tri_insert_a on a
for insert as
if ((select top 1 count(*) from a group by name,date order by count(*) desc)>=2)
begin
    rollback tran                  
end

[[it] 本帖最后由 coolma88 于 2008-10-15 17:35 编辑 [/it]]
2008-10-14 18:21
nannansun
Rank: 1
等 级:新手上路
威 望:1
帖 子:11
专家分:0
注 册:2008-10-17
收藏
得分:0 
create table a
(date datetime,
name varchar(10),
a3 int)

想问下lz 这样的定义 对吗


我们现在学的貌似 name 过不去吧。。。因为变成蓝色的了。 不可以做成列的名字吧。。。

不知道说的对不。。。
2008-10-17 21:46
快速回复:sql查询语句 求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027438 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved