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

SQL基本使用和代码优化

EXEC和sp_executesql的区别?
DBCC FREEPROCCACHE --》清空缓存中的执行计划
SELECT cacheobjtype,objtype,usecounts,sql from sys.syscacheobjects WHERE sql NOT LIKE '%cach%' AND sql NOT LIKE '%sys.%' --》查找对应的缓存中的对应计划
SQL Server为每一个的查询字符串创建新的执行计划,即使查询模式相同也是这样
EXEC除了不支持动态批处理中的输入参数外,他也不支持输出参数
用法:
Exec('select * from CustInfo')
Exec sp_executesql N'select * from CustInfo'
declare @paraName varchar(20)
set @paraName='CustName'
Exec('select '+@paraName+' from CustInfo')--加号前后加上空格
如果你要把输出返回给调用批处理中的变量:
DECLARE @sql NVARCHAR(MAX),@RecordCount INT
SET @sql = 'SELECT COUNT(ORDERID) from Orders';
CREATE TABLE #T(TID INT);
INSERT INTO #T EXEC(@sql);
SET @RecordCount = (SELECT TID from #T)
SELECT @RecordCount
DROP TABLE #T
sp_executesql命令在SQL Server中引入的比EXEC命令晚一些,它主要为重用执行计划提供更好的支持。
它的构成包括:代码快,参数声明部分,参数赋值部分
EXEC sp_executesql
@stmt = <statement>,--类似存储过程主体
@params = <params>, --类似存储过程参数部分
<params assignment> --类似存储过程调用
@stmt参数是输入的动态批处理,它可以引入输入参数或输出参数,和存储过程的主体语句一样,只不过它是动态的,而存储过程是静态的,不过你也可以在存储过程中使用sp_executesql;
@params参数与定义输入/输出参数的存储过程头类似,实际上和存储过程头的语法完全一样;
@<params assignment> 与调用存储过程的EXEC部分类似。
用法:
declare @paraName varchar(20)
set @paraName='CustName'
declare @temp nvarchar(1000)
set @temp='select ' +@paraName+ ' from CustInfo'
Exec(@temp)
exec sp_executesql  @temp--因为 sp_executesql只能执行的类型为ntext/nchar/nvarchar,所以@temp需要从varchar改为nvarchar
  DECLARE @TableName VARCHAR(50),@sql NVARCHAR(MAX),@OrderID INT;
      SET @TableName = 'CustInfo ';
      SET @OrderID = 10;
     SET @sql = 'SELECT * from '+QUOTENAME(@TableName) + ' WHER


相关文档:

SQL Server 的通用分页显示存储过程

转自:http://hi.baidu.com/sonichu/blog/item/a494c4ea276f12dad539c9a8.html
建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺 ......

PL/SQL Developer使用技巧

PL/SQL Developer使用技巧
  
1、PL/SQL Developer记住登陆密码
在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码;
设置方法:PL/SQL Developer 7.1.2 ->tools->Preferences->Oracle->Logon History , "Store history"是默认勾选的,勾上"Store wi ......

SQL主键小结

SQL 中的主键的作用:
能够唯一表示数据表中的每个记录的【字段】或者【字段】的组合就称为主码(主键)。
作用
1、主键唯一的识别每一记录;
2、主键将记录和存放在其他表中的数据进行关联。在这一点上,主键是不同表中各记录之间的简单指针。
若有两个表A,B,key是A的主键,而B中也有key字段,则key就是表B的外键。
A ......

给PL/SQL创建账号、密码和付权限

给PL/SQL创建账号、密码和付权限
CREATE USER zxd  PROFILE "DEFAULT" IDENTIFIED BY zxd DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK
grant dba to "zxd";
F:\oracle\ora92\network\admin  路径下tnsnames.ora
ZXD =
  (DESCRIPTION =
  &nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号