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

SQl的execute 与sp_executesql 

SQL语句类似string.Format()组装变量的使用。
一般来说,我们会在程序运行期间将所要运行的命令语句组合成一个字符串,然后使用EXECUTE命令或系统存储过程
@0sp_executesql来运行。今天,我们将来详细探讨这两种方法各自的优劣点。
(一) 使用EXECUTE命令运行命令字符串
要使用EXECUTE命令来运行一个命令字符串的语法如下:
EXEC[UTE] ({@string_variable|[N] 'stql_string'} [+...n])
从语法看出,可以先将包含所要运行的命令的字符串赋给一个局部变量@string_variable,再使用EXECUTE命令来运行,或是直接使用EXECUTE命令去运行一个包含所要运行的命令语句的字符串。此外,您也可以将多个包含所要运行的命令语句的字符串相加在一起,再交给EXECUTE命令来一次运行。
在使用EXECUTE命令时必须注意以下几点:
a、在EXECUTE命令中必须将命令字符串包含在一对小括号中;
b、局部变量@string_variable可以是数据类型char、varchar、nchar或nvarchar。如果您在'stql_string'之前加上了
大写的N,此时该字符串将被解释为nvarchar数据类型;
交给EXECUTE命令运行的命令字符串必须全部是由字符数据组成,也就是说您必须自行将所有的数值数据转换成字符数据;
d、EXECUTE命令允许以嵌套方式使用;
e、EXECUTE命令可以使用前四个字符的缩写方式,即EXECUTE与EXEC都是正确的写法。
举例如下:
declare @DBName varchar(20),
@Tbname varchar(20),
@SQLString1 varchar(100),
@SQLString2 varchar(100)
set @DBName='Northwind'
set @Tbname='Customers'
组合出所需要的命令字符串
set @SQLString1='USE'+@DBName+char(13) --char(13)换行
组合出所需要的命令字符串
set @SQLString2='select * from'+@Tbname
将命令字符串包含在一对小括号中后交给EXEC命令运行
exec(@SQLString1+@SQLString2)
(二) 使用系统存储过程sp_executesql运行Unicode命令字符串
语法如下:
sp_executesql [@stmt=] stmt
{,[@params=]N'@parameter_namedata_type [,...n]'}
{,[@param1=] 'value' [,...n]}
 
说明:必须先将各个包含所要运行的命令语句的Unicode字符串相加在一起,再交给系统存储过程sp_executesql来运行,而不能在sp_executesql的语句中来相加各个命令字符串。
举例如下:
declare @DBName nvarchar(20),
@Tbname nvarchar(20),
@SQLString nvarchar(500)
set @DBName=N'Northwind'
set @Tbname=N'Customers'
set @SQLString


相关文档:

PL/SQL developer远程访问数据库配置方法

使用PL/SQL developer远程访问oracle数据库时,首先要确定本机中装有oracle客户端。目前还不知道哪里单独的oracle客户端安装包。(因为我用的是oracle10g,oracle10g安装的过程中没有特定的客户端选项,所以我一般都是在本机用安装oracle所有功能)
在本机安装好oracle客户端后,我们在本机(即客户端)的oracle的安装目录下 ......

SQL Server2005表分区

 ---//创建分区
CREATE PARTITION FUNCTION MarketInfo_Bak_partfunc(int)
AS RANGE RIGHT
FOR VALUES (10000,25000,40000)
--//创建分区架构
CREATE PARTITION SCHEME MarketInfo_Bak_partscheme
  AS PARTITION MarketInfo_Bak_partfunc
  TO (fg1, fg2, fg3, fg4) --//fg1...fg4文件组名
--//对表进 ......

SQL Server查詢可用磁盘空间

--> Title  : SQL Server查詢可用磁盘空间
--> Author : wufeng4552
--> Date   : 2009-10-30 09:59:09
前言
如果你的组织拥有的程序要求一个很大量的磁盘空间或者大比例的特定磁盘,那么确保在程序开始或者关键点时确认磁盘驱动器具有足够的存储。一次快速检查就可以节约大量的时间,减 ......

sql server一个使用游标的实例

--创建游标
DECLARE Cursor1 CURSOR FOR
SELECT NODE_NO,NODE_VALUE,SUM(RESALE_SUM-RESALERETU_SUM+SALE_SUM-SALERETU_SUM) sale_sum,
SUM(STORE_SUM) sum_store,SUM(STORE_SUM) store_sum,
sum(RESALE_PROFIT-RESALERETU_PROFIT+SALE_PROFIT-SALERETU_PROFIT-ADJUST_PROFIT) sale_profit
from ......

PL/SQL开发

bulk collect是可以看做是一种批获取的方式,在我们的plsql的代码段里经常作为into的扩展来使用。对于select id into v from .... 是一个常用的用法。不过这里只能是返回单条记录的时候,才能使用,如果是有多条记录我们就不能用这样的方式,而是使用fetch和循环的方式,不仅使用麻烦,而且性能也底下,这时我们的bulk coll ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号