随笔分类 - SQL
SQL
摘要:C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度。不然获取到的结果总是只有第一字符。本人就是由于这个原因,折腾了很久。在此记录一下,供大家以后参考!例如:CREATE PROCEDURE sp_AccountRole_Create@CategoryID int,...
阅读全文
摘要:例如: 字符串 '05011045'要查 0 在此字符串里有几个!select len('05011045')-len(replace('05011045','0',''))
阅读全文
摘要:--查询ID = '009'的所有父节点SET @ID = '009';WITH T AS( SELECT ID , PID , NAME FROM TB WHERE ID = @ID UNION ALL SELECT A.ID , A.PID , A.NAME FROM TB AS...
阅读全文
摘要:第一次在Access中写多表查询,就按照MS数据库中的写法,结果报语法错,原来Access的多表连接查询是不一样的表A、B、C,A关联B,B关联C,均用ID键关联一般写法:select * from A inner join B on A.ID=B.ID inner join C on B.ID=C...
阅读全文
摘要:1、打开PowerDesigner,设置PowerDesigner的当前数据库为Access;2、在PowerDesigner中新建表结构(物理模型);3、PowerDesigner菜单中:Database -> Generate Database...(快捷键Ctrl+G); 在弹出的对话框中,设...
阅读全文
摘要:在网上看过一些解决方法我在此给出的方法适用于无唯一ID的情形表:TB_MACVideoAndPicture 字段只有2个:mac,contentmac作为ID,正常情况下mac数据是唯一的,由于操作失误导致数据插入多次,导致出现多个mac,content重复数据,现在只保留一条,删除多余的大体思想是...
阅读全文
摘要:动态管理视图sys.dm_os_wait_stats返回执行的线程所遇到的所有等待的相关信息。可以使用该聚合视图来诊断 SQL Server 以及特定查询和批处理的性能问题。列名数据类型说明wait_typenvarchar(60)等待类型的名称。waiting_tasks_countbigint该...
阅读全文
摘要:要知道线程等待时间是制约SQL Server效率的重要原因,这一个随笔中将学习怎样收集SQL Server中的线程等待时间,类型等信息,这些信息是进行数据库优化的依据。sys.dm_os_wait_stats这是一个系统视图,里面存储线程所遇到的所有的等待信息,具体的列如下表列名数据类型说明Wait...
阅读全文
摘要:以下我面试经常问的2道题..尤其针对觉得自己SQL SERVER 还不错的同志.. 呵呵 很难有人答得好..各位在我收集每个人擅长的东西时,大部分都把SQL SERVER 标为Expert,看看是否答的上来..1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclu...
阅读全文
摘要:内存动态管理视图(DMV):从sys.dm_os_memory_clerks开始。SELECT[type],SUM(virtual_memory_reserved_kb)AS[VMReserved],SUM(virtual_memory_committed_kb)AS[VMCommitted],SU...
阅读全文
摘要:一、问题:1、SQL Server 所占用内存数量从启动以后就不断地增加: 首先,作为成熟的产品,内存溢出的机会微乎其微。对此要了解SQL SERVER与windows是如何协调、共享内存。并且SQL SERVER的内部对内存的管理机制。2、在Windows 2003以上版本运行的SQL Ser...
阅读全文
摘要:Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。常规服务器动态管理对象包括:dm_db_*:数据库和数据库对象dm_e...
阅读全文
摘要:相信朋友对SQL Server性能调优相关的知识或多或少都有一些了解。虽然说现在NOSQL相关的技术非常的火热,但是RMDB(关系型数据库)与NOSQL是并存的,并且适用在各种的项目中。在一般的企业级开发中,主要还是RMDB占据主导地位。并且在互联网项目中,也不是摒弃了RMDB,例如MySQL就在很...
阅读全文
摘要:--备份数据库--必须先创建Backup文件夹DECLARE @name VARCHAR(250) SET @name = 'D:\Backup\DingHanECard_V2_ZQGDJ_' + CONVERT(VARCHAR(50), GETDATE(), 112) + '.bak' BACKUP DATABASE [DingHanECard_V2_ZQGDJ] TO DISK = @name WITH NOFORMAT, NOINIT, NAME = N'DingHanECard_V2_ZQGDJ-完整 数据库 备份', SKIP, NOR
阅读全文
摘要:避免对经常更新的表进行过多的索引,并且索引中的列尽可能少。而对经常用于查询的字段(外键)应该创建索引,但要避免添加不必要的字段。数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能不会产生优化效果。在条件表达式中经常用到的、不同值较多(主键的列)的列上建立索引,在不同值少的列上不要建立索引。比如在学生表的“性别”字段上只有“男”与“女”两个不同值,因此就无须建立索引。如果建立索引,不但不会提高查询效率,反而会严重降低更新速度。在频繁进行排序或分组(即进行GROUPBY或ORDERBY操作)的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引
阅读全文
摘要:删除本地快发布时报错:无法作为数据库主体执行,因为主体 "dbo" 不存在、无法模拟这种类型的主体,或您没有所需的权限。已将数据库上下文更改为 'numberForcast'。 (Microsoft SQL Server,错误: 15517)方法:执行一下命令USE数据库命EXEC sp_changedbowner‘sa’;然后再执行删除发布就OK了在生成本地发布过程中 发布、订阅过程都正确,无报错,但生成的本地订阅却是空的。解决,先生成快照发布,生成订阅,然后删除快照发布,重新新建事务发布就行了
阅读全文
摘要:修改视图--SQL Server 2005 GOIF EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[e_myWorkflowProcessModule]'))DROP VIEW [dbo].[e_myWor...
阅读全文
摘要:存储过程pro_A返回一个表集合TableA,在存储过程pro_B中以TableA为数据源再做一重过滤,想实现代码复用,因此原意是在存储过程pro_B中调用存储过程pro_A,但事实发现我们不能写成select * from (exec pro_A para1,para2) a ;虽然返回结果是表集合。 后来想执行存储过程返回一个output表变量,就像一般变量一样,但存储过程可不支持这种写法;想到最后只能将pro_A 的内容写在一个函数中fn_A,函数支持返回表,可以写成select * from fn_A (para1,para2);
阅读全文