随笔分类 -  数据库设计

摘要:通常备份的方式有两种:手动备份和自动备份,如果数据库服务器中有这么多的数据库需要备份,那么手动备份必定是一个很大的工作量,这个时候我们可以采用另外一种备份方式---定时自动备份。SQLServer的维护计划里面自带了备份数据库任务,但不会自动按日期命名,不方便,下面的方法是以存储过程来解决的,以sql2000为例:首先要确认SQL Server Agent服务是在启动状态,下一步,我们来创建作业,在创建作业之前,我们需要创建备份数据库及命名的存储过程比如是对TestDB操作,打开查询分析器,把下面的存储过程拷到里面执行下就行了,当然了,命名规则可以自动更改USE[TestDB] GO SETA 阅读全文
posted @ 2011-12-28 17:05 菜鸟吃虫,虫吃菜 阅读(1128) 评论(0) 推荐(1)
摘要:最近因看到论坛有人问起这方面的东西,将自己的理解加上查阅相关资料整理如下,如果不全或不当的地方,望指正并补全它。 数据库名(DB_NAME)、实例名(Instance_name)、以及操作系统环境变量(ORACLE_SID) 在ORACLE7、8数据库中只有数据库名(db_name)和数据库实例名(instance_name)。在ORACLE8i、9i中出现了新的参数,即数据库域名(db_domain)、服务名(service_name)、以及操作系统环境变量(ORACLE_SID)。这些都存在于同一个数据库中的标识,用于区分不同数据库的参数。 一、什么是数据库名(db_name)? 数据库名 阅读全文
posted @ 2011-12-28 11:30 菜鸟吃虫,虫吃菜 阅读(247) 评论(0) 推荐(0)
摘要:引用自:http://blog.csdn.net/jackyxu_2008/archive/2009/03/21/4009791.aspx最近用powerDesinger遇到一些小问题,遇到好几次同样的问题了,写在这里,以备查用:--------------------------------------------------------------------------------------------------powerdesiner的自增长列,以前都是生成sql语句后,再在自增长列中添加Identity(1,1).找了好久,终于打到了方法.1.如果dbms是MsSql,则选定表后 阅读全文
posted @ 2011-08-07 15:35 菜鸟吃虫,虫吃菜 阅读(839) 评论(0) 推荐(0)
摘要:nvarchar与varchar的区别varchar[(n)] 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。 nvarchar(n) 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL- 阅读全文
posted @ 2011-04-11 12:52 菜鸟吃虫,虫吃菜 阅读(298) 评论(0) 推荐(0)
摘要:我们在写一些存储过程的时候总想获取到一些值,比方说,刚刚插入一条记录的ID,等等 (一)通过output获取返回值 存储过程如下ALTERprocedure[dbo].[teturn_test2]@rg1intoutputasset@rg1=123说明:@rg1 为输出值 C#代码中接受 stringconnectStr=@"server=localhost\sql2005;database=store_procedure;uid=sa;pwd=;";SqlConnectionsqlConnection=newSqlConnection(connectStr);SqlCom 阅读全文
posted @ 2011-04-11 10:29 菜鸟吃虫,虫吃菜 阅读(730) 评论(0) 推荐(0)
摘要:存储过程学习笔记(一) 存储过程是将具有规律并且经常使用的sql语句,写成可以接受参数的sql语句进行保存起来,给以后进行调用 一、存储过程的格式■■■■■■代码开始■■■■■■CREATE PROCEDURE [存储过程的名称][参数1],[参数2],.AS[语句体]RETURN [返回值]■■■■■■代码结束■■■■■■ 这是我在网上看到最简单的介绍:看了这个,我第一感觉其实存储过程就是一个方法:[存储过程的名称]:方法名[参数1],[参数2]:参数[语句体]:方法体[返回值]:返回值课外知识补充:这些是 SQL-92 设置语句,使 SQL Server 2000/2005 遵从 SQL- 阅读全文
posted @ 2011-04-07 13:36 菜鸟吃虫,虫吃菜 阅读(460) 评论(0) 推荐(1)
摘要:创建临时表 方法一: create table #临时表名(字段1 约束条件,字段2 约束条件,.....)create table ##临时表名(字段1 约束条件,字段2 约束条件,.....)方法二: select * into #临时表名 from 你的表; select * into ##临时表名 from 你的表;注:以上的#代表局部临时表,##代表全局临时表查询临时表 select * from #临时表名; select * from ##临时表名;删除临时表 drop table #临时表名; drop table ##临时表名;SQL SERVER临时表的使用http://w 阅读全文
posted @ 2011-01-19 14:06 菜鸟吃虫,虫吃菜 阅读(163485) 评论(6) 推荐(6)
摘要:T-SQL是需要优化的。而优化的前提是你对它的执行步骤有清楚的认识。我经常去给讲课或者咨询辅导的时候,就发现很多朋友对此了解甚少。下面截取了我的一个PPT,给大家参考一下 下面这个脚本可以解释这个过程 /*这个脚本用来帮助用户理解T-SQL查询的逻辑顺序和原理。作者:陈希章*/ /*准备数据架构和数据*/SET NOCOUNT ON;USE tempdb;GOIF OBJECT_ID('dbo.Orders') IS NOT NULL DROP TABLE dbo.Orders;GOIF OBJECT_ID('dbo.Customers') IS NOT NULL DROP TABLE dbo 阅读全文
posted @ 2011-01-19 11:22 菜鸟吃虫,虫吃菜 阅读(496) 评论(0) 推荐(0)
摘要:sql创建表 下面是Sql Server 和 Access 操作数据库结构的常用Sql,希望对你有所帮助。新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default \'默认值\' null ,[字段2] ntext null ,[字段3] datetime,[字段4] money null ,[字段5] int default 0,[字段6] Decimal (12,4) default 0,[字段7] image null ,)删除表:Drop table [表名]插入数 阅读全文
posted @ 2011-01-04 22:19 菜鸟吃虫,虫吃菜 阅读(265) 评论(0) 推荐(0)
摘要:SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY 是相似的函数,因为它们都返回插入到标识列中的值。 IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。调用它时必须提供表示表名的字符型参数,你可以得到你想要的任何表的最后一个IDENTITY值,即使你的代码里没有插入动作。例如:IDENT_CURRENT('T1'); SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当 阅读全文
posted @ 2010-12-29 15:09 菜鸟吃虫,虫吃菜 阅读(217) 评论(0) 推荐(0)
摘要:@@IDENTITY 是返回当前对话生成的最后一个标识符 今天突然想到如何在插入一个学生后获取到这个新插入学生的ID,苦苦不的解 后来小伟介绍了个@@IDENTITY 就想到一下办法不知有什么问题否 string sqlString = "insert into [userinfor] (name,age) values(@name,@age); select @@IDENTITY from [userinfor]"; object result = sqlCommand.ExecuteScalar(); 这样result接受到的就是刚刚插入的学生ID 阅读全文
posted @ 2010-12-29 15:07 菜鸟吃虫,虫吃菜 阅读(211) 评论(0) 推荐(0)