仓酷云

标题: sqlserver年夜bug:表删除后表的触发器未删除 [打印本页]

作者: 若相依    时间: 2015-1-16 14:07
标题: sqlserver年夜bug:表删除后表的触发器未删除
mysql的prepare其实是本地PHP客户端模拟的,并没有根据你mysql的设置做字符集的调整。应该交与mysqlserver端做prepare,同时得调用mysql_set_character_set去操作,server才会按照字符集去做转义。明天在对照数据库的时分,发明有几个触发器老是同步不了。细心检察以后,才发明这几个触发器所依靠的表已在之前被我删失落了。之前一向都没有发明这个成绩,也觉的这是不成能产生的成绩,以是在群中问了一人人,有伴侣说,表删除后纷歧定会删除触发器,我信了,但总觉的不太牢靠,由于之前都是间接删除表的,也没发明如许的成绩。又觉的应当是我利用droptable的sql语句来删除的,是否是利用sql语句删除的表不会同时删除触发器呢,又专程做了一个测试,创立一个表,再创立一个表触发器,然后用droptable的体例删除表,了局触发器有被同步删除。

申明,我这里说的表是dml触发器,不是ddl触发器。

然后发贴到csdn,了局没有伴侣信任。

为了证实在我的电脑上的确出了该bug,又专程从头找来数据库备份文件,将该bug重现一次,并截图以下:
sqlserver年夜bug:表删除后表的触发器未删除
登录/注册后可看大图


申明一下我的图片:
起首为了让两条sql的了局都显现在"了局"栏,我把输入了局调成了以文本情势显现。
为了证实我没有自然弊,我是将两个sql写一个查询剖析器中一并实行的。
先看第一个sql:
select*from[dbo].[Cost_PreReceivable]
该sql间接前往毛病:工具名dbo.Cost_PreReceivable有效。申明我这个表是不存在的。

然后第二个sql:
sp_helptexttu_Cost_PreReceivable
是显现tu_Cost_PreReceivable触发器的界说,从输入的了局能够看出,该触发器所依靠的表的确是Cost_PreReceivable。

我也但愿是我弄错了,看人人能帮我找出个中缘故原由。在JOIN操作中(需要从多个数据表提取数据时),MySQL只有在主键和外键的数据类型相同时才能使用索引。
作者: 活着的死人    时间: 2015-1-18 12:03
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
作者: 海妖    时间: 2015-1-24 13:19
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
作者: 仓酷云    时间: 2015-2-1 16:21
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
作者: 小魔女    时间: 2015-2-7 09:52
从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。
作者: 愤怒的大鸟    时间: 2015-2-21 19:12
大家注意一点。如下面的例子:
作者: 变相怪杰    时间: 2015-3-6 21:40
发几份SQL课件,以飨阅者
作者: 再见西城    时间: 2015-3-13 22:08
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2