| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> mssql >> SQL Server开发过程中的的常见问题总结 SQL Server kai fa guo cheng zhong de de chang jian wen ti zong jie
 

SQL Server开发过程中的的常见问题总结

2008-07-19 08:21:48 编辑來源:互联网 繁體版 评论
 
 
本文为【SQL Server开发过程中的的常见问题总结】的汉字拼音对照版显示拼音
  zaiSQL Serverkaifawentizhongnikenenghuiwendaodeshigewenti:

  1shenmeshichangjiandeduibiaoheziduandemingziyueshu?

  2youmeiyoukenengzaibulejieT-SQLdeqingkuangxiabianxiecunchuguocheng?

  3T-SQL zhongruhebijiaoCLR cunchuguochenghehanshudexingneng?

  4woruhezaiyigecunchuguochengzhong使shiyonglingyigecunchuguochengchanshengdejieguo?

  5woruhejiejueSQL Server 2005debingfawenti?

  6zaiSQL Server 2005zhongyongshenmegongjutidailechaxunfenxiqi?

  7ninengtigongyixieyouguanSQL heT-SQLdexiangxixinxima?

  8SQL Server 2005 youmeiyouxindesuoyinleixing?

  9woruhechuangjianyigejiaobenzaibiaozhongjinxingxuanze?

  10woruheliechunaxiemeiyoujiludeshujukubiao?

  duiyubiaoheziduandechangjianmingziyueshu

  huida:

  SQL Server 2000xiadebiaoheziduanmingchengyou1dao128zijiedexianzhibingqiezunxunyongyubiaoshideguize

  diyigezimubixushiruxiadeyizhong:

  · Unicode Standard 2.0zhongguidingdezimu

  Unicodeduizimudedingyibaokuo:ladingzimucongAdaoZchulelaiziqitayuyandezimuzhiwai

  · xiahua线xian(_)atfuhao(@)huozheshuzifuhao(#)

  zaiSQL Serverzhongyizhexiefuhaozuoweibiaoshifudekaishijuyouteshudehanyiyigeyiatfuhao(@)kaitoudebiaoshifubiaoshiyigebendidebianlianghuozheshenshuyigeyishuzifuhao(#)kaitoudebiaoshifudaibiaoyigelinshibiaohuozheguochengyigeyilianggeshuzifuhao(##)kaitoudebiaoshifubiaoshideshiyigequanjulinshiduixiang

  yixieTransact-SQLhanshudemingziyilianggeatfuhao(@@)kaitouweilebimianyuzhexiehanshuhunxiaotuijiannibuyao使shiyonglianggeatfuhao(@@)kaitoudebiaoshifu

  jiexialaidezimukeyishiyixiaderenyijizhong:

  · Unicode Standard 2.0dingyidezimu

  · laizijichuladingwenhuozheqitayuyindeshijinzhishuzi

  · atfuhao(@)meiyuanfuhao($)shuzifuhao(#)huozhexiahua线xian

  biaoshifujueduibunengshiTransact-SQLdebaoliuziSQL ServerbaoliuleyixiedaxiehexiaoxiedebaoliuzineijiandekongjianhuozheteshudezimudoubuyuanxuchuxianjinguannikeyizaihaodelaobanbendeNorthwindzhongkandaotamenbaohanleneijiandekongjiannibixutongguobatamenkuozaikuohaozhongcaikeyi访fangwen

  bujuyourenheT-SQLzhishideqingkuangxiabianxieSQL Server2005cunchuguochengma?

  xuduochengxuyuandourenweichuangjianSQL ServercunchuguochengbuzaibixuT-SQLlebuxingdeshi(huozhebingfeirucizhegenjunideguandian)zhebingbuquanshishishizaijishushangshikeyizaibulejieT-SQLdeqingkuangxiachuangjiancunchuguochengdedanshimeiyouT-SQLdehuazewufa访fangwenrenhedeshuju

  zaiCLRcunchuguochengneibujinxingshuju访fangwenshitongguo使shiyongbiaozhundeADO.NETleilaiwanchengdekaifarenyuanhuizaiyingyongchengxucengfaxianhenduotongyangdemeiyouyongchudeshuju访fangwendaimazhexiedaimahuihenqingyidizhuanyidaoSQLCLRlichengzhongqudangzhongjiancengdezhexieADO.NETleixuyao使shiyongT-SQLlai访fangwenshujudeshihouzai CLRzhujitigongdehuanjingzhongjiuhui使shiyongtongyangdelei

  woyaoqiangtiaodeshicongjishujiaodulaishuobu使shiyongT-SQLlaibianxiecunchuguochengshikenengdenameyoumeiyouliyouzhemezuone?yizhongqingkuangjiushizheshiyigeyonglaicongputongwenjianhuozhewangluofuwuzhongjiansuoshujudeCLRcunchuguochengbingjiangshujugeshishezhiweixingjizhelikenengjiuhuiyongdaobuxuyaoT-SQLdecaozuodanshizhebingbushiduiT -SQLcunchuguochengnenglideyigehenhaodebiyu

  CLRcunchuguochengvs. T-SQLcunchuguocheng

  CLRcunchuguochenghehanshuyuT-SQLcunchuguochenghehanshuxiangbixingnengruhe?

  huida:

  zhelishiyonglaibijiaoT-SQLlichengheCLRlichengxingnengdeyizhongchangyongdeguize:yongnideshujuzainidefuwuqishangceshiliangtaopeizhikankannayigebijiaohao

  jiushishuoxuduorendouyunxingguoxingnengceshiyibandejieguojiushiT-SQLzaibiaozhundeCRUD(chuangjianduqugengxinshanchu)caozuoshangbiaoxianyaobihaoyidianerzaifuduoshuxuezifuchuanfuzhiheqitadechaoguoshuju访fangwenderenwushangzeshiCLRdexingnengbiaoxiangenghaoyidian

  SQL Server dezhuanjiaGustavo Larrierabianjileruxiayixieguanyuzhegezhutideyouyonglianjie:

  ·zai SQL Server 2005zhong使shiyongCLR Integration

  ·jiandanjieshaozai SQL Server 2005zhongde CLR Integration

  ·zai SQL Server 2005zhongduiCLR heT-SQLzuochuxuanze

  ·jieshao SQL Server 2005zhongde CLR Integration

  ·SQL Server xiantan: SQL Server 2005 Beta 2 CLRwentiyuhuida

  ·shujukuguanliyuandefangyu.NET

  ·yonghuzidingyihanshudexingnengbijiao

  ruhezaiyigecunchuguochengzhong使shiyonglingyigecunchuguochengdejieguo?

  zhuanjiahuida:

  zhiyaocunchuguochengzhichanshengleyigedangedejieguoyaozailingwaiyigecunchuguochengzhong使shiyongzhegecunchuguochengchanshengdeshuchuzhegejishushifeichangzhijiedezhegejishujiushi使shiyongyigelinshibiaolaizhuangzaicunchuguochengdejueiguoranhoutongguoINSERT EXECyujulaizhixingzhegeguochengbingbaocunjieguoyidanjieguobaoliuzailinshibiaozhongletamenjiukeyixiang使shiyongqitabiaoshujuyiyanglai使shiyongtale

  zhelishiwomenkenenghuifuyongdeyigeguochenglizi:

  CREATE PROC usp_Demo_AllAuthors as

  select * from pubs..authors

  GO

  xianzaiyouyigecunchuguocheng使shiyongusp_Demo_AllAuthorsdejieguo:

  CREATE proc usp_Demo_SPUser as CREATE TABLE #Authors (

  au_id varchar(11) NOT NULL PRIMARY KEY CLUSTERED,

  au_lname varchar (40) NOT NULL ,

  au_fname varchar (20) NOT NULL ,

  phone char (12) NOT NULL,

  address varchar (40) NULL ,

  city varchar (20) NULL ,

  state char (2) NULL ,

  zip char (5) NULL ,

  contract bit NOT NULL

  ) Execute usp_Demo_AllAuthors storing the

   results in #Authors

  insert into #Authors

  exec usp_Demo_AllAuthors Here we use the #Authors table. This example only

   only selects from the temp table but you could do much

   more such as use a cursor on the table or join with

   other data.

  SELECT au_fName + + au_lname as [name]

  , address+, +city+, +state+ +zip [Addr]

  from #AuthorsDROP TABLE #Authors

  GO

  SQL Server 2005zhongdecunchuguochengbingfawenti

  wozaiSQL Server2005zhongyudaolebingfawentiwochiyouchepiaodegonggongqicheshangyouyixiekongxiandezuoweiwozaicharuxiaoshoudechapiaozhiqianxuyaochakanshifouhuanyoukongxiandezuoweiwodecunchuguochengzuodeshiqingruxiasuoshi:

  CREATE PROCEDURE add_ticket parameters

  DECLARE free_seats int BEGIN TRANSACTION SELECT free_seats

  = COUNT(*) FROM tickets WHERE seat_is_not_taken IF free_seats

  <> 0 INSERT INTO tickets VALUES() some other statements END TRANSACTION

  wentijiushilianggeguochengkeyitongshiduqukongxianpiaoshubingqiedoukeyiyuyueyizhangpiaoji使shishinaliyijingmeiyoukongyudelewoxuyaoyizhongfangfalaifangzhiyigeguochengzailingyigeguochengyunxingadd_ticketchengxudanshihuanmeiyoucharuyizhangxinpiaodeshihouduqukongpiaodeshuliang

  huida:

  nishizhengquede;genggaodegelijibieyebuhuibaozhengduogeduzhequtongshiquduqutongyigeshujuxingranerhuanyoujizhongfangfanikeyiwanchengzhexianggongzuolirunikeyigeimeigezuoweifenpeiyigeweiyidebiaoshifu(yisishiweiyijianbuyidingshiGUID)bingqiechuangjianyigemiaoshunaxiezuoweiyijingbeiyudingledebiaozaibiaoshangfangyige UNIQUEyueshunijiukeyiquebaotongyigezuoweibuhuibeicharuliangcile

  jiushishuoworenweiyigegengyouqudefangfajiushi使shiyongSQL Service BrokernikeyiweimeigegongjiaojianliyigehuihuabingqiejiangzhegehuihuadejubingcunfangzaiyigebiaozhongduzhezaizhixingRECEIVEzhiqiankeyishenkaozhegebiaotongguozhezhongfangshiduzhejiukeyizhengquediguolvgonggongqicheshangdemeigezuoweidouchayigexiaoxidaoduiliezhongduzhejiukeyijiandandiRECEIVEdaosuoxudexiaoxi(zaizhegeguochengzhongyudinggonggongqicheshangdezuowei) Service Brokerhuiquebaomeiyouxiaoxihuibeijieshouliangciyejiushishuonibuhuizaiyudaobingfawentile

  SQL Server 2005zhongqudailechaxunfenxiqi

  huida:

  nishiduidechaxunfenxiqiheqiyeguanliqidoucongSQL ServerzhongshanchulequdaitamendeshiyigegongjuSQL Server guanlitaojian(SQL Server Management Studio)zhegegongjujuyouqianrendedaduoshutexingdanshiyongyoushengjihoudeyonghujiemianhehenduojingguogaishandegongnengwojiaodedaduoshudeshujukuguanliyuandouhuifaxianzheshiyigehenhaodeshengji

  ruguonixiangyaolejiegengduoyouguanSQL ServerguanlitaojiandexintexingdexinxiqingyueduSearchSQLServer.com shangyouguanzhegehuatidewenzhang

  SQL vs. T-SQL

  huida:

  SQLshijiegouhuachaxunyuyanshiANSI/ISO renkedebiaozhunshujukuyuyanSQL ServerdeshixianyuyanjiaozuoTransact-SQL (T-SQL)T-SQLjibenshangshigenju1992nianfabiaodeISObiaozhunchuxiandezai1999niandebiaozhunshangshaojiaxiugaiciwaiweiruanhuanjinxinglegezhongsiyoudejiaqiang

  biaozhunSQLheT-SQLzhijianyouhenduoqubietaiduolezhelijiubushuolehuanyouruguonizaiSQL Servershanggongzuoname使shiyongzhexiesiyoudekuozhanshiyouhaochudeyouyuxuduoSQL Serverdetexingdebenzhinibu使shiyongfeibiaozhundeminglingdehuajianghuiyouhenduoqiangdadegongnengwufashixianruguonixiangyaokankannideSQLshifoufuhebiaozhunnikeyi使shiyongSET FIPS_FLAGGERmingling

  SQL Server 2005zhongshifouyouxindesuoyinleibiele?

  huida:

  SQL Server 2005meiyouweiguanxibiaoyinruxindesuoyinleixingjibenshangjucuhefeijucusuoyinshiyiB-treesdefangshishixiandehuanrengranzaiyingyongranerSQL Server 2005queshibaohanleyixiesuoyinshangdejiaqiangbulunshiwanquanwenbensuoyinhuanshiduiyuXMLshujuciwaizhexiejiaqianghuankeyigaishanyixieyuguanxixingsuoyinyouguandewenti

  SQL Server 2005dewanquanwenbensuoyintexingshiquanxindebingqieshichongxinbianxiedeyaohuodezhegetexingdexinxiqingyueduNimish KhanolkardeMSDN广guangbowendangjieshaoSQL Server 2005zhongdequanwenbenchazhao

  XMLshiSQL Server 2005zhonglingwaiyigezaifangshishangfashenglejudazhuanbiandeneirongxianzaiduiyukaifarenyuanlaishuoyoudiyiliudeXMLshujuleixingkeyonglezhegeleixingzhichiXQuerychaxunyuyan使shiyonglezhegeleixingdeziduankeyitongguoteshugeshideXMLsuoyinbeisuoyindaoyaolejiegengduoyouguanXMLleixingdexinxiqingchazhaoMSDN shangdewenzhang

  huanyougezhonggeyangdeyouguanT-SQLsuoyinminglingdejiaqiangyexuzuilingrenganxingqudejiushixindezai线xiansuoyinleixingtayuanxushujukuguanliyuanzaibuxuyaobayonghusuodaobiaowaimiandeqingkuangxiazhixingsuoyinweihurenwuzhegehenyoukenengbiaojizheshujukuguanliyuanxuyaodengdaoyeli3diancainengdakaiweihuchuangkouxiuzhengwentidezhuangkuangdezhongjie!yaolejiegengduoyouguanzhegetexingdexinxiqingchazhaoSQL Server Worldwide Users Group shangdewenzhang

  weixingxuanzechuangjianyigejiaoben

  xiangxiangyixiazhegebiao:

  prod_key item_key pack_key last_sale

  LM001 1029 AD100 2004/12/05

  LM870 1029 AD100 2005/09/20

  PE789 1030 BC400 2003/07/12

  PE312 1030 BC400 2004/08/07

  woxiangyaoxuanchunaxiezaiitem_key hepack_keyxiangdengdeqingkuangxiariqibijiaodadenayixinghuanjuhuashuowoxiangyao:

  LM870 1029 AD100 2005/09/20

  PE312 1030 BC400 2004/08/07

  huida:

  zhegebiaoyouzhujianma?nayangdehuachaxunkenenghuirongyixiebuguanzenmeyangwojiaodeniyinggaianzhaoxiamianzheyang:

  SELECT prod_key,item_key,pack_key,last_sale

  FROM (SELECT item_key,pack_key,MAX(last_sale)

  AS last_sale FROM tablex GROUP BY item_key,pack_key) AS MaxDateTable

  WHERE tablex.item_key = MaxDateTable.item_key

  AND tablex.pack_key = MaxDateTable.pack_key

  AND tablex.last_sale = MaxDateTable.last_sale

  liechumeiyoujiludeshujukubiao

  wochuangjianleyigedongtaideSQL Serverchaxunlaishuchubiaozhongxingdeshuliangwodemubiaoshiliechuzaishujukuzhongmeiyoujiludebiaochaxunruxiasuoshi:

  declare @strsql varchar(100)

  declare @tablename varchar(50)

  @tablename=table123@strsql=

  select count(*) from + @tablename exec(@strsql)

  wodedaoleshuchudanshiwowufabazhegezhicunchudaobianliangzhongyibeichakan

  B<>woxiangyaozheyangchakan:

  /* @countvariable=0

  print(@tablename)*/

  huanyouqitadejiejuefangfama?

  huida:

  nikeyirangnidejiejuefangangengjialinghuoyixietongguocongsysobjectsbiaozhongzhuaqubiaoming:

  declare @strsql varchar(256)

  create table #emptytables

  (tablename varchar(128), table_rowcount int)select

  @strsql=select distinct o.name as TableName,

  .rowcnt as Table_RowCount

  from sysobjects o

  inner join sysindexes x

  on o.id = x.id

  where x.rowcnt = 0 and

  o.type = Uinsert #emptytables (TableName,

  Table_rowcount) exec (@strsql)

  select * from #emptytables

  drop table #emptytables原文
 
 
 
 
上一篇《SQL Server数据库简体繁体数据混用的问题》
下一篇《SQL Server数据库查询优化的常用方法总结》
 
 
 
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
在SQL Server开发问题中你可能会问到的十个问题: 1、什么是常见的对表和字段的名字约束? 2、有没有可能在不了解T-SQL的情况下编写存储过程? 3、T-SQL 中如何比较CLR 存储过程和函数的性能? 4、我如何在一个存储过程中使用另一个存储过程产生的结果? 5、我如何解决SQL Server 2005的并发问题? 6、在SQL Server 2005中用什么工具替代了查询分析器? 7、你能提供一些有关SQL 和T-SQL的详细信息吗? 8、SQL Server 2005 有没有新的索引类型? 9、我如何创建一个脚本在表中进行选择? 10、我如何列出那些没有记录的数据库表? 对于表和字段的常见名字约束 回答: SQL Server 2000下的表和字段名称有1到128字节的限制,并且遵循用于标识的规则。 第一个字母必须是如下的一种: · Unicode Standard 2.0中规定的字母。 Unicode对字母的定义包括:拉丁字母,从A到Z,除了来自其他语言的字母之外。 · 下划线(_),at符号(@),或者数字符号(#) 在SQL Server中以这些符号作为标识符的开始具有特殊的含义。一个以at符号(@)开头的标识符表示一个本地的变量或者参数。一个以数字符号(#)开头的标识符代表一个临时表或者过程。一个以两个数字符号(##)开头的标识符标识的是一个全局临时对象。 一些Transact-SQL函数的名字以两个at符号(@@)开头。为了避免与这些函数混淆,推荐你不要使用两个at符号(@@)开头的标识符。 接下来的字母可以是以下的任意几种: · Unicode Standard 2.0定义的字母 · 来自基础拉丁文或者其他语音的十进制数字 · at符号(@),美元符号($),数字符号(#),或者下划线 标识符绝对不能是Transact-SQL的保留字。SQL Server保留了一些大写和小写的保留字。内建的空间或者特殊的字母都不允许出现,尽管你可以在好的老版本的Northwind中看到它们包含了内建的空间。你必须通过把它们括在括号中才可以访问。 不具有任何T-SQL知识的情况下编写SQL Server2005存储过程吗? 许多程序员都认为创建SQL Server存储过程不再必需T-SQL了。不幸的是(或者并非如此,这根据你的观点),这并不全是事实。在技术上是可以在不了解T-SQL的情况下创建存储过程的,但是没有T-SQL的话则无法访问任何的数据。 在CLR存储过程内部进行数据访问,是通过使用标准的ADO.NET类来完成的。开发人员会在应用程序层发现很多同样的没有用处的数据访问代码,这些代码会很轻易地转移到SQLCLR例程中去。当中间层的这些ADO.NET类需要使用T-SQL来访问数据的时候,在 CLR主机提供的环境中就会使用同样的类。 我要强调的是,从技术角度来说,不使用T-SQL来编写存储过程是可能的。那么有没有理由这么做呢?一种情况就是这是一个用来从普通文件或者网络服务中检索数据的CLR存储过程,并将数据格式设置为行集。这里可能就会用到不需要T-SQL的操作——但是这并不是对T -SQL存储过程能力的一个很好的比喻。 CLR存储过程vs. T-SQL存储过程 CLR存储过程和函数与T-SQL存储过程和函数相比,性能如何? 回答: 这里是用来比较T-SQL例程和CLR例程性能的一种常用的规则:用你的数据,在你的服务器上,测试两套配置,看看哪一个比较好。 就是说,许多人都运行过性能测试,一般的结果就是T-SQL在标准的CRUD(创建、读取、更新、删除)操作上表现要比好一点,而在复杂数学、字符串赋值和其他的超过数据访问的任务上,则是CLR的性能表现更好一点。 SQL Server 的专家Gustavo Larriera编辑了如下一些关于这个主题的有用链接: ·在 SQL Server 2005中使用CLR Integration。 ·简单介绍在 SQL Server 2005中的 CLR Integration。 ·在 SQL Server 2005中对CLR 和T-SQL做出选择。 ·介绍 SQL Server 2005中的 CLR Integration。 ·SQL Server 闲谈: SQL Server 2005 Beta 2 CLR问题与回答。 ·数据库管理员的防御.NET。 ·用户自定义函数的性能比较。 如何在一个存储过程中使用另一个存储过程的结果? 专家回答: 只要存储过程只产生了一个单个的结果,要在另外一个存储过程中使用这个存储过程产生的输出,这个技术是非常直接的。这个技术就是使用一个临时表来装载存储过程的巨额iguo,然后通过INSERT EXEC语句来执行这个过程并保存结果。一旦结果保留在临时表中了,他们就可以像使用其它表数据一样来使用它了。 这里是我们可能会复用的一个过程例子: CREATE PROC usp_Demo_AllAuthors as select * from pubs..authors GO 现在有一个存储过程使用usp_Demo_AllAuthors的结果: CREATE proc usp_Demo_SPUser as CREATE TABLE #Authors ( au_id varchar(11) NOT NULL PRIMARY KEY CLUSTERED, au_lname varchar (40) NOT NULL , au_fname varchar (20) NOT NULL , phone char (12) NOT NULL, address varchar (40) NULL , city varchar (20) NULL , state char (2) NULL , zip char (5) NULL , contract bit NOT NULL )– Execute usp_Demo_AllAuthors storing the – results in #Authors insert into #Authors exec usp_Demo_AllAuthors– Here we use the #Authors table. This example only – only selects from the temp table but you could do much – more such as use a cursor on the table or join with – other data. SELECT au_fName + ‘ ‘ + au_lname as [name] , address+’, ‘+city+’, ‘+state+’ ‘+zip [Addr] from #AuthorsDROP TABLE #Authors GO SQL Server 2005中的存储过程并发问题 我在SQL Server2005中遇到了并发问题。我持有车票的公共汽车上有一些空闲的座位。我在插入销售的查票之前,需要查看是否还有空闲的座位。我的存储过程做的事情如下所示: CREATE PROCEDURE add_ticket — parameters DECLARE free_seats int BEGIN TRANSACTION SELECT free_seats = COUNT(*) FROM tickets WHERE seat_is_not_taken IF free_seats <> 0 INSERT INTO tickets VALUES(…) — some other statements END TRANSACTION 问题就是两个过程可以同时读取空闲票数,并且都可以预约一张票,即使是那里已经没有空余的了。我需要一种方法来防止一个过程在另一个过程运行add_ticket程序,但是还没有插入一张新票的时候读取空票的数量。 回答: 你是正确的;更高的隔离级别也不会保证多个读者去同时去读取同一个数据行。然而,还有几种方法你可以完成这项工作。例如,你可以给每个座位分配一个惟一的标识符(意思是,惟一键——不一定是GUID),并且创建一个描述哪些座位已经被预订了的表。在表上放一个 UNIQUE约束,你就可以确保同一个座位不会被插入两次了。 就是说,我认为一个更有趣的方法就是使用SQL Service Broker。你可以为每个公交建立一个会话,并且将这个会话的句柄存放在一个表中,读者在执行RECEIVE之前可以参考这个表。通过这种方式,读者就可以正确地过滤。公共汽车上的每个座位都插一个消息到队列中。读者就可以简单地RECEIVE到所需的消息(在这个过程中,预定公共汽车上的座位)。 Service Broker会确保没有消息会被接受两次,也就是说你不会再遇到并发问题了。 SQL Server 2005中取代了查询分析器 回答: 你是对的。查询分析器和企业管理器都从SQL Server中删除了。取代它们的是一个工具,SQL Server 管理套件(SQL Server Management Studio)。这个工具具有前任的大多数特性,但是拥有升级后的用户界面和很多经过改善的功能。我觉得大多数的数据库管理员都会发现这是一个很好的升级。 如果你想要了解更多有关SQL Server管理套件的新特性的信息,请阅读SearchSQLServer.com 上有关这个话题的文章。 SQL vs. T-SQL 回答: SQL是结构化查询语言,是ANSI/ISO 认可的标准数据库语言。SQL Server的实现语言叫做Transact-SQL (T-SQL)。T-SQL基本上是根据1992年发表的ISO标准出现的,在1999年的标准上稍加修改。此外,微软还进行了各种私有的加强。 标准SQL和T-SQL之间有很多区别——太多了,这里就不说了。还有,如果你在SQL Server上工作,那么使用这些私有的扩展是有好处的。由于许多SQL Server的特性的本质,你不使用非标准的命令的话,将会有很多强大的功能无法实现。如果你想要看看你的SQL是否符合标准,你可以使用SET FIPS_FLAGGER命令。 SQL Server 2005中是否有新的索引类别了? 回答: SQL Server 2005没有为关系表引入新的索引类型。基本上——聚簇和非聚簇索引是以B-trees的方式实现的——还仍然在应用。然而,SQL Server 2005确实包含了一些索引上的加强,不论是完全文本索引,还是对于XML数据,此外这些加强还可以改善一些与关系型索引有关的问题。 SQL Server 2005的完全文本索引特性是全新的,并且是重新编写的。要获得这个特性的信息,请阅读Nimish Khanolkar的MSDN广播文档,介绍SQL Server 2005中的全文本查找。 XML是SQL Server 2005中另外一个在方式上发生了巨大转变的内容。现在对于开发人员来说有第一流的XML数据类型可用了。这个类型支持XQuery查询语言,使用了这个类型的字段可以通过特殊格式的XML索引被索引到。要了解更多有关XML类型的信息,请查找MSDN 上的文章。 还有各种各样的有关T-SQL索引命令的加强。也许最令人感兴趣的就是新的“在线”索引类型,它允许数据库管理员在不需要把用户锁到表外面的情况下执行索引维护任务。这个很有可能标记着数据库管理员需要等到夜里3点才能打开维护窗口修正问题的状况的终结!要了解更多有关这个特性的信息,请查找SQL Server Worldwide Users Group 上的文章。 为行选择创建一个脚本 想象一下这个表: prod_key item_key pack_key last_sale LM001 1029 AD100 2004/12/05 LM870 1029 AD100 2005/09/20 PE789 1030 BC400 2003/07/12 PE312 1030 BC400 2004/08/07 我想要选出哪些在item_key 和pack_key相等的情况下,日期比较大的那一行。换句话说,我想要: LM870 1029 AD100 2005/09/20 PE312 1030 BC400 2004/08/07 回答: 这个表有主键吗?那样的话查询可能会容易些。不管怎么样,我觉得你应该按照下面这样: SELECT prod_key,item_key,pack_key,last_sale FROM (SELECT item_key,pack_key,MAX(last_sale) AS last_sale FROM tablex GROUP BY item_key,pack_key) AS MaxDateTable WHERE tablex.item_key = MaxDateTable.item_key AND tablex.pack_key = MaxDateTable.pack_key AND tablex.last_sale = MaxDateTable.last_sale 列出没有记录的数据库表 我创建了一个动态的SQL Server查询来输出表中行的数量。我的目标是列出在数据库中没有记录的表。查询如下所示: declare @strsql varchar(100) declare @tablename varchar(50) @tablename=’table123′@strsql=’ select count(*) from ‘ + @tablename exec(@strsql) 我得到了输出,但是我无法把这个值存储到变量中以备查看。 B<>我想要这样查看: /* @countvariable=0 print(@tablename)*/ 还有其它的解决方法吗? 回答: 你可以让你的解决方案更加灵活一些,通过从sysobjects表中抓取表名: declare @strsql varchar(256) create table #emptytables (tablename varchar(128), table_rowcount int)select @strsql=’select distinct o.name as TableName, .rowcnt as Table_RowCount from sysobjects o inner join sysindexes x on o.id = x.id where x.rowcnt = 0 and o.type = ‘’U”’insert #emptytables (TableName, Table_rowcount) exec (@strsql) select * from #emptytables drop table #emptytables
󰈣󰈤
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
越来越漂亮的楚楚(7)
越来越漂亮的楚楚(6)
越来越漂亮的楚楚(5)
越来越漂亮的楚楚(4)
共长一色
水中莲
峰林晚照
远离喧嚣——山村小景
 
>>返回首页<<
 为你推荐
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有