下载此文档

SQL数据库面试题.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
SQL数据库面试题.doc:..SQL数据库面试题1、SQLSREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID,因为我们一般都是把这种用户ID的字段设置成自增长类型的,乍看起来好像没有要得到那个新ID很麻烦,其实sqlserver内置了一些全局的变量,使我们很容易就得到那个新的自增字段的ID,就是使用@***@IDENTITYo在一条INSERT、SELECTINTO或大容量复制语句完成后,@***@IDENTITY中包含语句生成的最后一个标识值。如果语句未影响任何包含标识列的表,则@创DENTITY返冋NULL。如果插入了多个行,生成了多个标识值,则@***@IDENTITY将返回最后生成的标识值。如果语句触发了一个或多个触发器,该触发器又执行了生成标识值的插入操作,那么,在语句执行后立即调用@创DENTITY将返冋触发器生成的最后一个标识值。在具体应用中可以这样来写SQL语句:string strSql = "INSERT INTO[User]([Name],[LoginNamel^PwdlJRegTimel^lsSuper],[Remark])"+”VALUES(***@Name,***@LoginNarne,***@Pwd,***@RegTime,***@lsSupei;***@Rernark);select@***@IDENTITY;";();就可以了,能直接返回该条记录的UserID;解答二:经过实验,得如下结论:selectDISTINCT@***@IDENTITYasidenfromFaWen解释:上述语句对SQLSERVER的一个会话,也就是一条连接,返回该连接最后一条插入记录得到的白增字段的值。假设有3个程序,分别连接SQLSERVER,有三个连接。3个程序都向同一个表依顺序插入数据,得到的值分别是1、2、3,那么,只要3个程序对SQL的连接还保持着,第一个程序使用上述语句,将得到而不是3,笫二个程序将得到2,也不是3。第三个程序得到3。因此,用上述语句可以得到自己刚才插入记录的自增字段的值,不怕其它程序的并发插入操作。上述语句中,使用DISTINCT的原因是,虽然返回的值是当前连接插入操作得到的最大值,但返冋的相同值的记录有多条。条数等于当前多个连接一共插入的记录数。实验方法:启动三个Queryanalyzer查询分析器,,如何同吋获取自增1字段ID的当前值,而无须再进行一次查询来获取!因为我立即要用到该ID值,如果在增加记录完毕后再利用selectid进行一次查询无疑会使系统受限,有办法吗? '、什么叫做SQL注入,如何防止?请举例说明SQL注入就是在正常的SQL执行语句中恶意插入攻击者想要运行的sql语句,比如,我们有一个方法是这么写的:publicstaticboolLogin(stringloginName,stringpwd){stringstrSql=

SQL数据库面试题 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ttteee8
  • 文件大小44 KB
  • 时间2019-10-26