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
 
相关文档:
in 的话, 如果是null 就不比较了,既不是in 也不是 not in
exists的话 因为用 = 加在条件里比较了,所以 null 是 not exists
select *
from pricetemp
where cast(商品コード as varchar(10))not in(
select shohin_cd
&nbs ......
代码如下:
EXEC sp_rename '表名.[原列名]', '新列名', 'column'
*************************************************************************
Transact-SQL 参考
sp_rename
更改当前数据库中用户创建对象(如表、列或用户定义数据类型)的名称。
示例
A. 重命名表
下例将表 customers 重命名为 custs。 ......
原理:对需要去重复记录的字段按组排序,然后取其中一条记录。在总查询语句中使用in语法过滤
去掉重复记录
select * from company where comid in (select Max(comid) from company group by companyname)
得到重复记录数
select * from company where comid not in (select Max(comid) from company group by companyn ......
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 fr ......