摘要:话说毕业后做过几年系统,对数据库也就是增删改查的水平,后来做的工作大多也没有对数据库深入使用,对数据库的学习确实比较松懈,真是对不起自己在这个行业摸爬这么多年的经历。昨天前对timestamp这个数据库类型的理解,仅限于日常见到最多的Oracle的timestamp的用法,一个毫秒级的时间戳(这里其...
阅读全文
摘要:这是一个非常普遍的需求,当我们向一张表插入记录的时候,如果该记录已经存在(通常是主键相同/其他条件匹配),我们就不应当重复插入记录,而是更新该记录。 于是我们最原始的想法一般都是有这样一个存储过程/方法/SQL,先判断是否该记录是否存在,然后决定究竟是更新还是插入。 首先要避免的是用程序来回读取,它们起码要被原子性地处理在一起,否则先不说先判断再执行带来增加一次数据库访问给应用带来性能上的开销外,...
阅读全文
摘要:如何对已经有数据的表增加非空字段? 在新增字段的时候,所谓的新增字段没有默认值,所以会被系统提示无法添加,这时候,需要先增加一列可空字段,然后修改可空字段的所有值,直到没有空字段为止,然后打开设计器或者编写脚本,将该列修改为非空。 1、ALTER TABLE [Sechema1].[Sechema2].[TableName] ADD <NewColumnName> <TYPE> NULL ; 2、...
阅读全文
摘要:SQLServer2005出了点怪事~(应该是编码问题~)呵呵,今天和往常一样从SQLServer2005中编写表脚本为SELECT语句,然后拷贝到记事本给头尾加上一些字符串必备的语句,结果类似: 1 private const string SQL_SELECT_FILE_BY_BLOGID = " SELECT [ID] " 2 ...
阅读全文
摘要:操作系统:Windows XP Professional 服务器:SQL Server 2005 企业版(服务器版)说明:服务器版SQLServer在xp系统上必然会出现这种情况,在xp系统上您最好选择安装“开发版”!准确的说应该是:服务器版的数据库引擎(DataBase Engine)不适合安装在xp系统上!其他组件在其上可以使用。有关服务器版与开发版本的说明,请参阅MSDN或SQLServe...
阅读全文
摘要:也许是我忘记了吧,反正这一切让我感觉如此新鲜,赶快写下来~今天要向数据库传递一个日期格式的值,但却发现不知道如何传递日期参数进去数据库里该字段是以日期格式存储的,而平时写selcet一般都是处理字符串型和数值型的数据,很少涉及日期型(很久没写代码了,都忘记差不多了~)想了好多办法啊,不过还好没去尝试,因为办法都给人以好长且效率好低的感觉。日期型用字符串是无法传递的了,+号无法重载该类型的值。还想了...
阅读全文