SQL SERVER操作ACCESS的存储过程
/*
--作用:SQL SERVER操作ACCESS的存储过程
----------------------用法-------------------------------
--创建表tc
exec sp_operate_access 'create table tc(id int)','c:\db1.mdb'
go
--在tc表插入数据
exec sp_operate_access 'insert into tc(id) values(1)','c:\db1.mdb'
go
--删除tc表的数据
exec sp_operate_access 'delete from tc where id=1','c:\db1.mdb'
go
--删除TC表
exec sp_operate_access 'drop table tc','c:\db1.mdb'
go
--删除存储过程
drop proc sp_operate_access
*/
--创建存储过程
create proc sp_operate_access
@cmdsql varchar(8000),
@accessfilename nvarchar(1000)
as
begin
declare @out int,@err int,@obj int,@constr nvarchar(1000),@src nvarchar(255),@desc nvarchar(255)
select @constr='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+@accessfilename
exec @err=sp_oacreate 'adodb.connection',@obj out
if @err=0
begin
exec @err=sp_oamethod @obj,'open',null,@constr
if @err=0
begin
exec @err=sp_oamethod @obj,'execute',@out out,@cmdsql
if @err=0
begin
EXEC sp_OAMethod @obj, 'Quit'
exec sp_oadestroy @obj
return
end
else
相关文档:
以前一直觉得linq to sql生成类似where id not in (1,3,5)或where id not in (select id from ...)这样的条件不是很方便,每次我都是把条件ID事先取到一个数组里,然后用 !Arr.Contains(c.Id)这样处理,今天突然发现这样好傻,其实可以完全直接用linq写成一句,贴个示例在这里,以后备查
from a in TableA where !(fr ......
在使用SQL*Plus生成报告文件的时候,往往会因为其默认的设置导致输出的结果非常的没有可读性,下面介绍一个日常中会被用到的一个脚本,其中包含一些格式化
输出的set命令
,为了方便理解,我会在每一条set命令之后紧跟着一个简单的解释,请慢慢体会。
sqlplus -s user_name/user_password << EOF >/dev/n ......
讲解SQL Server中容易混淆的数据类型
(1)char、varchar、text和nchar、nvarchar、ntext
char和varchar的长度都在1到8000之间,它们的区别在于char是定长字符数据,而varchar是变长字符数据。所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应 ......
一、PL/SQL出现的目的
结构化查询语言(Structured Query
Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途
径,而是简单的调用相应语句来直接取得结果即可。显然,这种不关注任何实现细节的语言对于开发者来说有着极大的 ......