-
SQLServer数据库故障修复顶级技巧之一
所有这些技术都能够作为维护一个备用服务器的手段,同时这个数据库可以在你原先的主数据库出问题时上线并作为新的主服务器。然而,你必须记住的是将备用服务器替换上线只是完成了一半的故障修复工作...
数据库操作教程 2022-09-23 20:32:14 -
SQL语句技巧:按月统计数据
表结构如下:qty date----------------------------------------------13 2005/01/1715 2005/01/193 2005/01/25105 2005/01/271 2005/01/31352 2005/02/0312 2005/02/04255 2005/02/076 2005/02/181 2005/02/1928 2005/02/211 2005/02/22394 2005/02/23359 2005/02/24313 2005/02/25325 2005/02/26544 2005/02/2768 2005/02/282 2005/03/01求一個SQL寫法,將每個月的數量求和...
数据库操作教程 2022-09-23 20:23:18 -
sql高级技巧几个有用的Sql语句
1、例如:有两个表A(字段1,字段2,字段3)、B(字段2,字段3),其中存储数据如下所示表A字段1字段2字段31<Null>地段内容11<Null>地段内容12<Null>地段内容22<Null>地段内容23<Null>地段内容34<Null>地段内容45<Null>地段内容55<Null>地段内容55<Null>地段内容56<Null>地段内容67<Null>地段内容78<Null>地段内容88<Null>地段内容88<Null>地段内容88<Null>地段内容8表B字段2字段3wdz1地段内容1wdz2地段内容3wdz3地段内容5wdz4地段内容6wdz5地段内容7wdz6地段内容8使用下面的Sql语句(可以达到将表A中字段3与表B中字段3相同的数据字段2填充到表A中的字段2)update表1set字段1=(select字段1from表2where表1.字段3=表2.字段3)结果如下表所示表A结果字段1...
数据库操作教程 2022-09-23 20:21:08 -
解决SQLServer无法启动的小技巧
SQLServer无法启动主要的原因在登录上,下面就教您一个解决SQLServer无法启动的小技巧,如果您也遇到过SQLServer无法启动的问题,不妨一看。SQLServer有时候会无法正确启动,这是因为Executive服务无法登录引起的...
数据库操作教程 2022-09-23 17:56:30 -
实用的银行转账存储过程和流水号生成存储过程
银行转账存储过程USE[BankInfor]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOALTERPROCEDURE[dbo].[Transfer](@inAccountint,@outAccountint,@amountfloat)asdeclare@totalDepositfloat;beginselect@totalDeposit=totalfromAccountwhereAccountNum=@outAccount;if@totalDepositisnullbeginrollback;print'转出账户不存在或账户中没有存款'return;endif@totalDeposit<@amountbeginrollback;print'余额不足,不能操作'return;endupdateAccountsettotal=total-@amountwhereAccountNum=@outAccount;updateAccountsettotal=total+@amountwhereAccountNum=@inAccount;print'转...
数据库操作教程 2022-09-23 17:56:20 -
SQLSERVERSQL性能优化技巧
1.选择最有效率的表名顺序(只在基于规则的优化器中有效)SQLSERVER的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,必须选择记录条数最少的表作为基础表,当SQLSERVER处理多个表时,会运用排序及合并的方式连接它们,首先,扫描第一个表(FROM子句中最后的那个表)并对记录进行排序;然后扫描第二个表(FROM子句中最后第二个表);最后将所有从第二个表中检索出的记录与第一个表中合适记录进行合并例如:表TAB116,384条记录表TAB25条记录,选择TAB2作为基础表(最好的方法)selectcount(*)fromtab1,tab2执行时间0.96秒,选择TAB2作为基础表(不佳的方法)selectcount(*)fromtab2,tab1执行时间26.09秒;如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表,交叉表是指那个被其他表所引用的表例如:EMP表描述了LOCATION表和CATEGORY表的交集SELECT*...
数据库操作教程 2022-09-23 17:43:21 -
sqlserver建库、建表、建约束技巧
下面给大家分享下sqlserver建库、建表、建约束技巧,下文介绍有文字有代码。--创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在则创建----exists关键字:括号里边能查询到数据则返回‘true'否则返回‘false'ifexists(select*fromsysdatabaseswherename='School')--exists返回‘true'则执行删除数据库操作--dropdatabaseSchool--exists返回‘false'则表明数据库不存在,直接创建createdatabaseSchoolonprimary(--主数据库文件--name='School',--主数据文件逻辑名fileName='D:projectSchool.mdf',--主数据文件物理逻辑名size=5MB,--初始值大小maxsize=100MB,--最大大小filegrowth=15%--数据文件增长量)logon(--日志文件--name='School_log',filename='D:projectSchool_log.ldf',size=2MB...
数据库操作教程 2022-09-23 17:42:36 -
深入学习SQLServer聚合函数算法优化技巧
Sqlserver聚合函数在实际工作中应对各种需求使用的还是很广泛的,对于聚合函数的优化自然也就成为了一个重点,一个程序优化的好不好直接决定了这个程序的声明周期。Sqlserver聚合函数对一组值执行计算并返回单一的值...
数据库操作教程 2022-09-23 17:37:03 -
将mater库中的系统存储过程批量生成*.sql文件通用且非常实用
大家都知道系统存储过程是无法用工具导出的(大家可以试试>任务>生成SQL脚本)因为系统存储过程一般是不让开发人员修改的。需要知识:1、xp_cmdshell命令的使用2、sp_MS_marksystemobject标记系统存储过程的方法3、dos命令,如type,>>等4、bcp命令的使用复制代码代码如下:usemastergoifOBJECT_ID('pr_procToSql')isnotnulldropprocpr_procToSqlgocreateprocpr_procToSql(@服务器名varchar(100),@用户名varchar(100),@密码varchar(100),@pathvarchar(200),@databasevarchar(200),@sysprocint='0'--是否标记为系统函数1:是,0:否,@proc_namevarchar(100)=''--默认是所有,可以模糊搜索,@savetypevarchar(200)='.sql'--默认保存为sql脚本)as/*版本:v1作者:达摩日期:2012-04-13功能:1将mast...
数据库操作教程 2022-09-23 17:13:58 -
PL/SQLDEVELOPER使用的一些技巧
1,登录后默认自动选中MyObjects默认情况下,PLSQLDeveloper登录后,Brower里会选择Allobjects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择MyObjects后响应速率则是以毫秒计算的。Tools菜单-->ObjectBrowerFilters,会打开BrowerFolders的定单窗口,把“MyObjects”设为默认即可...
数据库操作教程 2022-09-23 17:13:11