zoukankan      html  css  js  c++  java
  • 关于SQLServer的小技巧

    sp_executesql  set @sql = 'select @row_num=count(*) from dbo.[User]' + @sWhere
     exec sp_executesql @sql,N'@row_num int output', @row_num output
    exec sp_executesql (参数1:动态SQL语句),(参数2:参数声明多个参数用逗号分开), 参数值
    如下:
    declare @sqlStr as nvarchar(1000)
    set @sqlStr='set @s=3 select @s select @s1'
    declare @outP as int

    EXECUTE sp_executesql @sqlStr,
    N'@s int output, @s1 int',
    @outP output,1

    select @outP

     从SQLServer导出数据到Excel(按此原理应该也可以导出到ACCESS,或任何数据库。不过我没试~~)

      insert   into   表   select   *   from   
      OPENROWSET('MICROSOFT.JET.OLEDB.4.0'  
      ,'Excel   5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)  


     insert into importTest
    select * from OPENROWSET
    ('MICROSOFT.JET.OLEDB.4.0' ,'Data Source=c:\storePlace.xls;Extended Properties=Excel 5.0',sheet1$)

    --//这个正确!identity_insert
    set identity_insert importTest on  --让自动增长的列可以写入。
    insert importTest (libID,libName,libMgr,flag)
    select * from OPENROWSET
    ('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\storePlace.xls',sheet1$)
    set identity_insert importTest off

    --//这个不正确!identity_insert
    set identity_insert importTest on  --让自动增长的列可以写入。
     insert into importTest --这里应该用列列表(libID,libName,libMgr,flag)
    select * from OPENROWSET
    ('MICROSOFT.JET.OLEDB.4.0' ,'Excel 5.0;HDR=YES;DATABASE=c:\storePlace.xls',sheet1$)
    set identity_insert importTest off

    加上access的
    --在SQLServer 中查询、操作Access数据库
    --OpenDataSource Data Source后的文件名“要带引号”
    select b1.a1,b1.a2,b1.a3 from OpenDataSource
    ('Microsoft.Jet.OLEDB.4.0','Data Source="F:\atest.mdb";')...b as b1 --OPENROWSET database后的文件“”“”“不能“”“””带引号 select * from OPENROWSET
    ('MICROSOFT.JET.OLEDB.4.0',';database=F:\atest.mdb','select * from a') --access数据库将b表的数据导出到a表并保证没有重复的。
    --a表b表字段都是a1,a2,a3
    insert into OpenRowSet('microsoft.jet.oledb.4.0',';database=F:\atest.mdb','select * from a') (a1,a2,a3)
    select b1.a1,b1.a2,b1.a3 from OpenDataSource
    ('Microsoft.Jet.OLEDB.4.0','Data Source="F:\atest.mdb";')...b as b1
    where id not in (select b.ID from OpenDataSource
    ('Microsoft.Jet.OLEDB.4.0','Data Source="F:\atest.mdb";')...b as b inner join OpenDataSource
    ('Microsoft.Jet.OLEDB.4.0','Data Source="F:\atest.mdb";')...a as a on a.a1=b.a1 and a.a2=b.a2 and a.a3=b.a3)
  • 相关阅读:
    查询SGA,PGA pool 内存分配情况
    为2229岁的人解释一下什么叫工作
    关于log的一些脚本
    关于ARM公司的cortex系列
    git reset 小结
    git push 小结
    git push 小结
    关于ubuntu的aptget 包
    TTL接口 液晶屏 与 LVDS接口 液晶屏的 区别
    git reset 小结
  • 原文地址:https://www.cnblogs.com/heys/p/1321120.html
Copyright © 2011-2022 走看看