Your Address

赞助商

MOST RECENT NEWS - WE MOMENTARILY RENEW

27
  decode()函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。所以,对于新手来说,这个函数还是要知道的。

DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
意思是:如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。类似java里面的流程结构控制的switch.
Tags: ,
10
      我们做数据库维护的时候,通常需要备份一个表,包括数据。这里我们可以用
SELECT INTO OBOG_IMG FROM OBOG_IMG_WORK;
COMMIT;

      这样是创建了一个OBOG_IMG_WORK表,而且这个表的结构和数据跟OBOG_IMG表是一模一样的。但是当我们需要把一个表的数据copy到另外一个表的时候(假设另外一个表存在),这里我们就不能用这个方法了。同样很简单:
INSERT INTO OBOG_IMG SELECT *  FROM OBOG_IMG_WORK;
COMMIT;

      其实是很简单的东西,就是容易弄混淆。。。。:)
Tags: ,
13
在Oracle中,要按特定条件查询前N条记录,用个rownum就搞定了。 select * from emp where rownum <= 5
那我要取N记录之后的呢?是不是rownum用">" 即 select * from emp where rownum > 5 就搞定了呢??
答案是否定的!
先看看rownum的使用规则:
引用
1 Oracle executes your query.
2 Oracle fetches the first row and calls it row number 1.
3 Have we gotten past row number meets the criteria? If no, then Oracle discards the row, If yes, then Oracle return the row.
4 Oracle fetches the next row and advances the row number (to 2, and then to 3, and then to 4, and so forth).
5 Go to step 3.
10
      众所周知,mysql在现在的中小型企业和个人的应用中是越来越广泛了,一个msyql数据库server(现在的版本是5.0)才40M左右,但是功能确很全,而且最重要的是免费的。
    但是装好了server以后,很多人为找一个好的client而犯愁,而且还有好多是收费的(mysql的管理工具),其实,mysql给我们提供了很好的命令解决方法,下面我说说最常用的添加用户和赋权的命令。一共有两种方法。
    第一种:GRANT
      先看一段命令:
[leekooqi@icnote ~]$ mysql --user=root mysql
mysql> GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> GRANT RELOAD,PROCESS ON *.* TO admin001@localhost;
mysql> GRANT USAGE ON *.* TO leekooqi@localhost;
27

CREATE Procedure prGetRecordByPage
(
@PageSize int, --每页的记录条数
@PageNumber int, --当前页面
@QuerySql varchar(1000),--部分查询字符串,如* From Test order by id desc
@KeyField varchar(500)
)
AS
Begin

Declare @SqlTable AS varchar(1000)
Declare @SqlText AS Varchar(1000)

Set @SqlTable='Select Top '+CAST(@PageNumber*@PageSize AS varchar(30))+' '+@QuerySql
Set @SqlText='Select Top '+Cast(@PageSize AS varchar(30))+' * From '
+'('+@SqlTable+') As TembTbA '
+'Where '+@KeyField+' Not In (Select Top '+CAST((@PageNumber-1)*@PageSize AS varchar(30))+' '+@KeyField+' From '
+'('+@SqlTable+') AS TempTbB)'
Exec(@SqlText)

End
GO
Tags:
27
好久没有用了的东西,今天有朋友问了,所以贴出来给大家参考参考。。。欢迎指正!

前提:知道sa的密码,知道远程数据库的ip  (自己的机子就不要说了吧。。)

首先,利用查询分析器连接到远程的数据库,然后选择master数据库(这个很重要,因为要用到master库里面的扩展过程xp_cmdshell ),然后运行下面的语句

xp_cmdshell  'net use \\备份文件存放机器ip\备份文件存放目录(必须设置为共享,而且是可写的) 备份文件存放机器密码 /user:备份文件存放机器域名\备份文件存放机器名'
backup database 需要备份的数据库 to disk='\\备份文件存放机器ip\备份文件存放目录\db.bak'
restore  database 需要还原的数据库 from disk='\\备份文件存放机器ip\备份文件存放目录\db.bak'



第一句的作用是建立可信任连接
第一句的作用是备份数据库
第一句的作用是还原数据库




完成!  :)  

Tags:
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]

©2007-2012 IcNote.COM Theme by Youth work room