
SQLServer
文章平均质量分 51
beautifulsarah
这个作者很懒,什么都没留下…
展开
-
触发器的相关知识
一﹕触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约`束。 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表。这两个表。 一﹕触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者原创 2016-11-30 16:49:02 · 629 阅读 · 0 评论 -
sqlserver将一个表中的数据存储到另一个表中
setidentity_insert tableName oninsertinto tableName(columnName) select top 10 columnNamefromoldTableName bsetidentity_insert tableNameoff原创 2016-12-28 14:54:18 · 1161 阅读 · 1 评论 -
仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时
如果想要给标识列显示的添加数据,可以使用如下的方法:set identity_insert PCInfo on--设置标识列可以显示添加数据insert into PCInfo(PCId,PCUse,PCNote) values(100,1,'aaa')--PCId为标识列set identity_insert PCInfo off--设置标识列不可以显示添加数据原创 2016-12-28 14:57:13 · 8086 阅读 · 0 评论 -
sqlserver设置两个主键
首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用TSQL建alter table tablename add constraint pk_name primary key (colname1,colname2)或者在表设计器里面按住原创 2016-12-28 14:58:29 · 19935 阅读 · 1 评论 -
数据库设计,可以使用PowerDesigner
数据库设计,可以使用PowerDesigner哦,著名的CASE工具,目前最新版本为15.2,用于软件建模,可以从需求直到物理模型,支持UML2.0语法,可用于UML图绘制。最大特色是能够使设计到实现无缝衔接,如:概念模型->逻辑模型->物理模型,概念模型->OOM,而且能够生成多种DBMS的脚本或代码脚本。原创 2016-12-28 14:59:46 · 309 阅读 · 0 评论 -
sqlserver按照笔画排序
selecttop 20902 code=identity(int,19968,1)into #t from syscolumns a,syscolumnsb select code,nchar(code)as CNWordfrom #torderby nchar(code)collateChinese_PRC_Stroke_CS_A原创 2016-12-28 15:12:35 · 730 阅读 · 0 评论 -
创建存储过程
createproceduretest1028 as begin select*from agent_info;end;执行存储过程exec test1028原创 2016-12-28 15:13:37 · 290 阅读 · 0 评论 -
sqlserver数据库长度过长有什么缺点和坏处
sqlserver数据库长度过长有什么缺点和坏处 在SQLServer中,只要你的字段总长不至于使得一行记录大小超过8096字节,就不会出现问题。单行记录过大会影响一定的性能(因为同样的记录数将需要更多的页,增加读取次数),可以根据字段的逻辑关系和使用频率对表进行拆分,用主键关联。例如:表(主键,字段1,字段2,……,不常用字段3,不常用字段4,……)可以原创 2016-12-28 15:31:22 · 3572 阅读 · 0 评论 -
sqlserver临时表的删除方法
ifobject_id('tempdb..#temp')is not null Begin drop table #tempEnd一个#号的临时表是事务级别的,就是说一个临时表只存在于一个事务里面。一个查询中的代码就是一个事务里面的(不包括拼接的sql语句)CREATETABLE #temp ( n原创 2016-12-28 15:40:09 · 3492 阅读 · 0 评论 -
sql语句修改数据库字段的长度
altertable tableName alter column columnName varchar(1024)原创 2016-12-28 15:45:24 · 11957 阅读 · 0 评论 -
数据库加密的方法
在服务器上新建一个数据库并新建一张表,用于存放程序所连接的数据库的用户名和密码,给这个数据库的连接用户一个最小的权限,可以修改这个数据库的用户名和密码。数据库中存放的是明文密码及加密后的密码,当程序所连接的数据库的密码修改之后,只需这个小权限的用户登录之后修改就好了,不用所有的程序的webconfig文件修改啦原创 2016-12-29 08:54:29 · 2254 阅读 · 1 评论 -
sql server 查询去掉重复记录
1. if exists(select * from sysobjects where name='stuInfo') 2. drop table stuInfo 3. create table stuInfo /*创建学员信息表**/ 4. ( 5. stuName varchar(20) not null,原创 2017-01-13 16:37:55 · 4792 阅读 · 0 评论 -
将截断字符串或二进制数据
会出现这样的报错原因是 你输入字符串的长度,超过了你数据库能录入的长度.最简单的方法, 把你数据库的值,都改为varchar(50) . 试试就知道是哪个超过了.原创 2016-12-28 14:49:58 · 671 阅读 · 0 评论 -
查询数据库中是否存在某张表
selectcount(1)fromsys.objectswherename= '表名'selectObjectProperty(Object_ID('表名'),'IsUserTable')原创 2016-12-28 14:47:44 · 782 阅读 · 0 评论 -
CASE WHEN的简单用法
在sql中判断非A即B类似的表达式时,可以用“case-when”句式来判断。When judgeexpression as not A is B,语法: CASE WHEN conditionTHEN result[WHEN ...][ELSE result]END CASE子句可以用于任何表达式可以有效存在原创 2016-12-28 14:26:06 · 9479 阅读 · 1 评论 -
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。
在与 SQL Server建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server已配置为允许远程连接。 (provider: TCPProvider, error: 0 - 无法加载或初始化请求的服务提供程序。)(程序中是可以连接数据库的,可是当发布到本地IIS上的时候就报错了)解决办法:修改IIS原创 2016-11-30 16:59:40 · 3024 阅读 · 0 评论 -
where 1=1影响效率以及having和where的区别
低效的“WHERE 1=1”网上有不少人提出过类似的问题:“看到有人写了WHERE 1=1这样的SQL,到底是什么意 思?”。其实使用这种用法的开发人员一般都是在使用动态组装的SQL。让我们想像如下的场景:用户要求提供一个灵活的查询界面来根据各种复杂的条件来查询 员工信息,界面如下图: 界面中列出了四个查询条件,包括按工号查询、按姓名查询、按年龄查询以及按工资查原创 2016-12-01 10:04:21 · 1872 阅读 · 0 评论 -
项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
第一种方法,先记录执行前的时间,然后在记录执行Sql后的时间,然后做减法 1 第一种方法: 2 declare @begin_date datetime 3 declare @end_date datetime 4 select @begin_date = getdate() 5 SELECT COUNT(1) 6 --要执行的SQL语句 7 FROM [原创 2016-12-01 10:06:10 · 991 阅读 · 0 评论 -
127.0.0.1和localhost的区别
很多人会接触到这个ip地址127.0.0.1。也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用。大家常用来ping 127.0.0.1来看本地ip/tcp正不正常,如能ping通即可正常使用。 对于大多数习惯用localhost的来说,实质上就是指向127.0.0.1这个本地IP地址。在操作系统中有个配置文件将loca原创 2016-12-01 10:16:05 · 335 阅读 · 0 评论 -
联合主键和复合主键区别
什么是数据表的复合主键 所谓的复合主键 就是指你表的主键含有一个以上的字段组成 比如 create table test ( name varchar(19), id number, value varchar(10), primary key (name,id) ) 上面的name和id字段组合起来就是你test表的复合主键原创 2016-12-07 10:08:29 · 4416 阅读 · 3 评论 -
数据库操作语句大全
一、基础1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server — 创建 备份数据的 device USE master EXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mssql7backu原创 2016-12-07 10:34:13 · 5277 阅读 · 0 评论 -
关键字'USER' 附近有语法错误。
是因为user是SQL的关键字。这样就好啦,如下:select*from [USER]原创 2016-12-07 16:37:43 · 387 阅读 · 0 评论 -
定期进行数据库的检查
我们在开发过程中,经常遇到这样问题,就是要求定期进行数据库的检查,如果发现特定数据,那么就要进行某项操作,这个需求呢,有两种做法,一是利用Windows的计划任务,定期执行某一个应用程序,去检索数据;另一种方式就是利用SQLServer自己去创建计划任务,定期进行执行。相对来讲,我比较喜欢后一种方式,如果数据库服务器允许,可以考虑采用这种方式。原创 2016-12-07 16:43:47 · 538 阅读 · 0 评论 -
SQL Server中的tinyint与.Net中的Byte结构或C#中的byte才是门当户对的一对!
今天将数据库一个字段由int改为了tinyint类型,model层对应属性由int改为short,没错吧?!可能会报指定的转换无效。 异常详细信息: System.InvalidCastException:指定的转换无效。原创 2016-12-07 16:49:10 · 602 阅读 · 0 评论 -
sqlserver中 REPLACE的用法
用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。语法REPLACE ( ''string_replace1'' , ''string_replace2'' , ''string_replace3'' )原创 2016-12-07 16:50:28 · 1333 阅读 · 0 评论 -
SQLSERVER存储过程
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。那为什么要用存储过程呢?1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。2.当对数据库进行复杂操作时,可将此复杂操作用存储过程封装起原创 2016-12-09 10:08:30 · 253 阅读 · 0 评论 -
脏读、不可重复读、幻读
锁就是防止其他事务访问指定的资源的手段。锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。 一般来说,锁可以防止脏读、不可重复读和幻觉读。 事务并发产生的问题: 脏读:一个事务读取到了另外一个事务没有提交的数据 事务1:更新一条数据原创 2017-01-17 09:14:02 · 244 阅读 · 0 评论