仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 847|回复: 7
打印 上一主题 下一主题

[学习教程] MSSQL网页设计将表中的某个字段转换成标识字段,并保存...

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
#
发表于 2015-1-16 22:28:54 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。转换
/*--将表中的某个字段转换成标识字段,并保存本来的值

注重,由于要删除原表,以是,假如表和其他表的联系关系,这些联系关系要从头创立

--邹建2003.12--*/

/*--挪用示例

execp_setid表名,要转换的字段名
--*/

ifexists(select*fromdbo.sysobjectswhereid=object_id(N[dbo].[p_setid])andOBJECTPROPERTY(id,NIsProcedure)=1)
dropprocedure[dbo].[p_setid]
GO

CREATEPROCP_SETID
@tbnamesysname,--要处置的表名
@fdnamesysname--要转换为标识字段的字段名
as
declare@s1varchar(8000),@s2varchar(8000),@tmptbsysname
select@s1=,@s2=,@tmptb=[tmp_+@tbname+_bak]
select@s1=@s1+,[+name+]
+casenamewhen@fdnamethen=identity(bigint,1,1)elseend
,@s2=@s2+,[+name+]
fromsyscolumnswhereobject_id(@tbname)=id
select@s1=substring(@s1,2,8000),@s2=substring(@s2,2,8000)
exec(selecttop0+@s1+into+@tmptb+from[+@tbname+]
setidentity_insert+@tmptb+on
insertinto+@tmptb+(+@s2+)select+@s2+from[+@tbname+]
setidentity_insert+@tmptb+off
)
exec(droptable[+@tbname+])
execsp_rename@tmptb,@tbname
go



/*==========================================================*/

--利用测试

--创立测试的表
createtable表(编号bigint,姓名varchar(10))
insertinto表
select1,张三
unionallselect2,李四
unionallselect4,王五
go

--挪用存储历程,将编号字段改成标识字段
execp_setid表,编号
go

--显现处置了局
select*from表

--显现是不是修正乐成
selectnamefromsyscolumns
whereobject_id(表)=idandstatus=0x80
go

--删除测试
droptable表

MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-19 17:28:21 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
谁可相欹 该用户已被删除
6#
发表于 2015-3-5 07:43:00 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
5#
发表于 2015-2-16 17:23:11 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
若相依 该用户已被删除
地板
发表于 2015-2-6 14:51:03 | 只看该作者
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
第二个灵魂 该用户已被删除
板凳
发表于 2015-1-30 18:23:10 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
再见西城 该用户已被删除
沙发
发表于 2015-1-21 12:35:05 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
只想知道 该用户已被删除
楼主
发表于 2015-1-18 06:46:02 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 06:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表