posted @ 2007-12-17 10:40 csdnexpert 阅读(97) 评论(0) 推荐(0)
摘要:
问题描述:用ADO访问数据库,从一个表中取一定的记录(比如20行),取出后在程序中使用,使用完后删除掉记录(不用更新或删除记录)。在多用户操作下(每个用户采用相同的操作),怎么保证一个用户已选取的记录不被其他用户选取? 问题解决:处理这类问题的一般方法是增加一个标志列,每个用户取的记录设置一个标志,新的用户只从标志为未取的记录中获取记录。而本文利用事务与锁来控制数据的处理,不需要增加任何标志列... 阅读全文
摘要:
问题描述:当你把数据从其他数据库, 或者是文本文件之类的其他数据源导入到目的数据库时, 有时希望在导入的处理中, 能够实现"数据存在时更新, 不存在时导入"在之前, 一般是通过导入临时表, 然后再判断处理导入正式表的, 在SQL Server 2005中, SSIS可以在导入处理时直接完成这种处理. 下面具体演示一下如何用SSIS完成这样的处理:1. 准备测试环境-- 1. ... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(141) 评论(0) 推荐(0)
摘要:
问题描述:数据库PUBS中的authors表,想锁定CITY为aaa的记录,为什么执行下面的命令后,CITY为bbb的记录也被锁定了,无法进行UPDATE.BEGIN TRANSACTION SELECT * FROM authors WITH (HOLDLOCK) WHERE city='aaa' 如何才能锁定CITY为AAA的记录,而且CITY为BBB的记录... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(187) 评论(0) 推荐(0)
摘要:
问题描述:使用 SELECT 语句,轮询表中的数据,并且处理变量数据时,如果有ORDER BY语句,则得不到想要的结果,但去掉ORDER BY,结果正常。具体的问题表现参考下面的问题重现代码 问题重现代码-- 测试数据DECLARE @T TABLE(id int,value nvarchar(16))INSERT INTO @T SELECT 1, N'好人' UNION ALL SEL... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(157) 评论(0) 推荐(0)
摘要:
问题描述:在有限多的不大于100的正整数中,找出尽量多个相加起来值介于98~102之间的组合。组合的个数限制在2 和3。比如有数字(39,40,1,55,17,17……N)数字可以有重复。找出的组合有(50,50),(21,41,39),(48,50)……M。在上面的数字在组合中每次只能出现一次(比如数字中40只出现过一次,那在组合中也只能出现一次。17出现过两次那在组合中最多两次) 实现现... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(119) 评论(0) 推荐(0)
摘要:
问题描述:某个基础信息表,与系统中30多个表存在外键关系,当删除基础数据时,需要判断是否已经被用过,如果用过则更改标志位,如果没有用过则直接删除,如何能很好实现这个处理?最好能够自动适应表的变化 问题解决(SQL Server 2005)-- SQL Server 2005的错误处理容易控制, 因此, SQL Server 2005中可以直接删除, 通过错误处理来确定是否需要更新. -- 示例... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(108) 评论(0) 推荐(0)
摘要:
事务复制是数据同步中常用的一种手段,复制过程难免会遇到不少问题,就笔者遇到的问题而言,一般有两大类:一类是通过重新启动Distributor Agent即可解决的问题,另一类是因为Subscriber修改了数据,导致发布的数据有冲突,这类问题一般需要手工去修复。TableDiff是SQL Server 2005的一个命令行实用工具,该工具可以比较两个表,并且生成数据同步的脚本。借助这个工具... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(161) 评论(0) 推荐(0)
摘要:
表现:下面的代码, 在兼容性级别90的所有用户数据库和tempdb库中都能执行, 但无法在系统数据库中执行, 执行会收到如下错误:Msg 4121, Level 16, State 1, Line 2Cannot find either column "dbo" or the user-defined function or aggregate "dbo.f_test", or the nam... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(107) 评论(0) 推荐(0)
摘要:
表现:将数据库兼容级别从80 改到90 后, 下面的游标循环不出数据, 但单独SELECT 有结果DECLARE MyCursor CURSOR LOCAL READ_ONLYFOR SELECT Col1FROM tbname WITH(NOLOCK) WHERE Name LIKE 'SNET%' AND B_Key IN( SELECT TOP(100... 阅读全文
posted @ 2007-12-17 10:40 csdnexpert 阅读(106) 评论(0) 推荐(0)
浙公网安备 33010602011771号