易截截图软件、单文件、免安装、纯绿色、仅160KB

动态sql语句基本语法

1 :普通SQL语句可以用Exec执行
      例:      Select * from tableName
                Exec('select * from tableName')
                Exec sp_executesql N'select * from tableName'    -- 请注意字符串前一定要加N
 
2:字段名,表名,数据库名之类作为变量时,必须用动态SQL
 
    错误:        declare @fname varchar(20)
                set @fname = 'FiledName'
                Select @fname from tableName              -- 错误,不会提示错误,但结果为固定值FiledName,并非所要。
    正确:      Exec('select ' + @fname + ' from tableName')     -- 请注意加号前后的单引号的边上加空格
 
    当然将字符串改成变量的形式也可
                declare @fname varchar(20)
                set @fname = 'FiledName' --设置字段名
 
                declare @s varchar(1000)
                set @s = 'select ' + @fname + ' from tableName'
                Exec(@s)                -- 成功
     


相关文档:

测量sql 解析耗费的时间比例

清空共享池,关闭,重启数据库
SQL> shutdown immediate;
SQL> startup;
开启 时间统计
SQL> set timi on
SQL> select count(*) from dba_objects;
  COUNT(*)
----------
     11308
Elapsed: 00:00:00.19
SQL> /
  COUNT(*)
----------
   &nb ......

一招搞掂Quest SQL Navigator 5.5占用CPU高

  对于Oracle的第三方开发工具,本人钟爱于Quest SQL Navigator 5.5,因为它反应迅速、支持多个账号同时登录,平时使用起来很方便。
  不过,发现它有个缺点,就是一查询大点的表,CPU就占用50%以上,搞到我的本本狂叫,我真受不了。
  到它官网,发现有新版本6.2了,不过下载要注册什么的,嫌麻烦。
  晚上,突 ......

防止sql注入,跨站脚本

sql注入防止的方式:
1.最根本的办法就是使用预编译的方式进行数据库操作。即时使用?的方式。
2.使用过滤类。
防止跨站脚本的方式:
1.在数据录入阶段进行过滤,但是这种方式会是丢失一些数据。
2. 在数据展示阶段。使用标签包含,innerhtml 的方式。 ......

大数据量下快速获取 SQL Server 数据库表记录数的方法

在数据库应用的设计中,我们往往会需要获取某些表的记录总数,用于判断表的记录总数是否过大,是否需要备份数据等。我们通常的做法是:select count(*) as c from tableA 。然而对于记录数巨大的表,上述做法将会非常耗时。在DELL 4400 服务器上做试验,MS Sqlserver 2000 数据库对于100万记录的简单数据表执行上述语句,时 ......

在SQL Server启动时自动执行存储过程

问题
  当sql server启动时,我很想运行一个存储过程。有没有一种方法可以在每次SQL Server服务启动时都会自动执行这个存储过程呢?
  专家解答
  sql Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行。这是一个很不错的选择,它可以用于多种 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号