1.使用ifelse语句①在学生表中,查找名字为王刚的同学,如果存在,显示该同学的信息,否则显示查无此人ifexists(selectsnofromstudentwheresname='王刚')elseprint'查无此人'go②查看有无选修00008号课程的记录,如果有,则显示有,并查询选修00008号课程的人数ifexists(select*fromscwherecno='00008')beginprint'有'selectcno,count(cno)
系统 2019-08-12 01:54:38 2130
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:(SQL2005)1BackupLogDataBaseNamewithno_log2go34dumptransactionDataBaseNamewithno_log5go67USEDataBaseName8DBCCSHRINKFILE(2)9Go(SQL2008):在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全
系统 2019-08-12 01:54:16 2130
Oracle的文件系统:控制文件(.CTL),数据文件(.DBF),日志文件(.LOG)除此三种文件还有一种参数文件,参数文件不是数据库系统中的有效组成部分,在启动数据库时,参数文件不直接参与工作,只是控制文件是由参数文件寻找的。参数文件位置:oracle/product/10.1.0/db_1/dbs/spfileoracleSID.ora控制文件的内容会显示在参数文件中。参数文件的作用起到寻找控制文件的作用。Oracle中有两种日志文件,一种为联机日志
系统 2019-08-12 01:53:40 2130
有些时候我们需要删除或增加数据库中有数据中表的列。总结一下列的删除和增加。1.删除列当表中存在数据时,删除列后,数据也会被删除。sql语句:altertable表名dropcolumn列名如果列存在约束,不能直接删除列。此时需要先删除约束:Sql语句:altertable表名dropconstraint约束名2.增加列列的增加有两种情况,一种增加的字段允许为空,另一种反之。我们来看看这两种情况有什么不同?2.1增加的列可以为空。当增加列可空时,原有的数据会
系统 2019-08-12 01:53:20 2130
现在忽然发现喜欢上了写博客,让博客记录自己成长的点点滴滴,在书写自己成长的同时,希望以后给那些像我一样刚刚起步的童鞋们一点启发,避免犯同样的错误。在看博客同时也希望一些高手对于文章中的问题有更好的解决方法,希望高手留下你们更好的解决方法。好了,不废话了,开始今天的话题。最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量。首先把遇到的问题摆出来:还是那张错误上报表,字段主要有上报错误ID(ErrorI
系统 2019-08-12 01:53:10 2130
前言今天你会看到每个人——从新手到专家——在使用SQL时犯的各种常见错误。你不能永远避免犯任何错误,但是熟悉广泛的错误将帮助你在尽可能短的时间内解决这些错误。注:在我们的例子中我们使用的是Oracle7个人版。你特定的执行可能和这个错误类型相似,但是错误号和名称可能不同。我们使用SQL*PLUS来运行我们的SQL语句,并设置ECHO和FEEDBACK为开的状态来查看声明。记住,一些错误会产生错误信息,而另一些可能只是在逻辑上不充分,它们将不可避免的在接下来
系统 2019-08-12 01:52:33 2130
原文:09.约束与索引的联系之所以把约束和索引放到一起来看,主要是因为主键约束和唯一键约束,它们会自动创建一个对应的索引,先分别看下数据库中的几个约束。一约束在关系型数据库里,通常有5种约束,示例如下:usetempdbgocreatetables(sidvarchar(20),snamevarchar(20),ssexvarchar(2)check(ssex='男'orssex='女')default'男',sageintcheck(sagebetwee
系统 2019-08-12 01:33:25 2130
搞过sqlserver的程序员很难理解oracle的表空间。我在这里简单说一下吧,oracle中的表空间就相当于sqlserver中的实例,用户就相当于sqlserver中的库。所以在oracle中中备份一个数据库出来的话,其实就是相当新建一个用户,赋于用户权限(connectresourcedba等)然后将原来的用户的表结构数据进行导入导出。导入导出也有几种方法,我建议还是用dmp文件。导出命令:exppublish/publish@orclfile=d
系统 2019-08-12 01:32:47 2130
最近断断续续看《MicrosoftSqlserver2008Internals》,中文名是《深入解析MicrosoftSqlserver2008》,由于邀月拿到的是英文版,所以一边看,一边查字典,顺便把一些理解记下来,翻译或理解不对之处,敬请指出。3w@love.cn。欢迎交流。兼以本文作为目录索引及序。读书笔记订阅地址:http://www.cnblogs.com/downmoon/category/230397.html/rss这里邀月可以保证的是:这
系统 2019-08-12 01:32:40 2130
importjava.sql.*;publicclassConnSqlServer2005{/***@paramargs*/publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubtry{ConnSqlServer2005sql=newConnSqlServer2005();}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.p
系统 2019-08-29 22:58:08 2129
函数与存储过程是数据库操作中很重要的一部分,为了更好的理解,我就不做太多的理论讲解,下面是我为了把今天的内容融合到一起自己设计的一个需求:用我们现在手上有的两张表:emp、dept。emp表中有员工工资,奖金等信息,dept表中有部门信息有时候我们会遇到这样的业务:财务部门将统计出来的工资分发到每个部门,由各个部门自己发工资(个人虚构的),在这个过程中我们就需要将每个部门的总工资算出来,于是就有了今天的代码:准备部分(复习):①准备表:创建一个存放最终数据
系统 2019-08-29 22:06:21 2129
------------------字符串函数------------------------charindex(要查找的字符串,被查找的字符串,开始查找的位置):返回要查找的字符串在被查找的字符串中的位置selectcharindex('sve','hellosvehisve',1)--结果为7selectcharindex('sve','hellosvehisve',8)--结果为14--len(字符串):返回字符串的长度selectlen('hell
系统 2019-08-12 01:54:06 2129
启动oracle数据库的同时也就创建了一个数据库实例,并且可以选择数据库启动的状态。通常,可以通过装载和打开数据库来启动实例,这样任何一个有效的用户都可以链接到实例并执行典型的数据库访问操作,下面介绍这方面的内容。一、启动数据库的方法启动数据库实例的方法有很多种,分别介绍如下:1、使用SQL*PLUS使用SQL*PLUS连接到具有管理员权限的Oracle上,然后发布startup命令,从而启动数据库。2、使用RecoveryManager即使用RMAN来执
系统 2019-08-12 01:53:40 2129
栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。栈是一种数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。栈是只能在某一端插入和删除的特殊线性表。用桶堆积物品,先堆进来的压在底下,随后一件一件往堆。取走时,只能从上面一件一件取。堆和取都在顶部进行,底部一般是不动的。栈就是一种类似桶堆积物品的数据结构,进行删除和插入的一端称栈顶,另一堆称栈底。插入一般称为进栈,删除则
系统 2019-08-12 01:53:07 2129
SQL触发器实例1定义:何为触发器?在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。常见的触发器有三种:分别应用于Insert,Update,Delete事件。我为什么要使用触发器?比如,这么两个表:CreateTableStudent(--学生表StudentIDintprimarykey,--学号....)CreateTableBorrowRecord(--学生借书记录表BorrowR
系统 2019-08-12 01:52:57 2129