SqlServer和Oracle中一些常用的sql语句8 触发器和事务
--创建和执行事后触发器--更新仓库备份表中记录时自动创建数据表且插入三条记录create trigger db_trigger1 on 仓库备份 for updateasbegin if Exists(select * from sys.sysobjects where id=OBJECT_ID('db_tabletriuser')) drop table db_table …… 阅读全文
--创建和执行事后触发器--更新仓库备份表中记录时自动创建数据表且插入三条记录create trigger db_trigger1 on 仓库备份 for updateasbegin if Exists(select * from sys.sysobjects where id=OBJECT_ID('db_tabletriuser')) drop table db_table …… 阅读全文
--SQL查询优化 尽量避免使用or,not,distinct运算符,简化连接条件/*Or运算符*/use db_businessgo select * from 仓库 where 城市='北京' or 城市='青岛' --包含or运算符 sql将不使用索引,影响速度/*In运算符*/use db_businessgo select * from 仓库 where 城市 in(' …… 阅读全文
--320, SQL SERVER 日报--查询2009-01-01当天客户A1,A2,A3的订单数量SELECT Cust_Name , CONVERT(CHAR(10), Order_Date, 120) Order_Date , SUM(Qty) QtyFROM Orders_BigWHERE 1=1 AND Cust_Name IN ('A1', ' …… 阅读全文
--482, ORACLE / SQL SERVER--订购数量超过平均值的书籍WITH Orders_BookAS ( SELECT Book_Name, SUM(Qty) Book_Qty FROM Orders GROUP BY Book_Name )SELECT *FROM Orders_BookWHERE Book_Qty > …… 阅读全文
示例表 tb 数据如下id value—————1 aa1 bb2 aaa2 bbb2 cccSELECT id, [val] = ( SELECT [value] + ',' FROM tb AS b WHERE b.id = a.id FOR XML PATH('') …… 阅读全文
--解决方法--日志文件满而造成SQL数据库无法写入文件时,可用两种方法:--清空日志。--1.打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG--2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库----收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以 …… 阅读全文