zoukankan      html  css  js  c++  java
  • 常用的一些SQL语句

    -

    常用到的几个有用的sql命令,经常碰到这样的问题:当项目已经部署后我们会进行一些脚本的更新,有时候我们写的存储过程视图或者函数,如果我们没有在前面加上dbo.那么更新到数据库的时候就会出现admin.sp_spName,admin.vw_vwName,这样一定会导致你的程序出错,那么什么原因引起的呢?就是你当前进入的数据库的帐号不是sa,而是给你分配的有dbo权限的admin所以才会出现这样的问题,并且会导致你的数据空中会有重复的存储过程,视图或者函数,这样程序调用的时候就会出现冲突引起错误,这里提供下面这几个函数来进行处理

    --改变数据库对象所有者
    Exec sp_changeobjectowner 'nmp.Vw_ContentForAccessList''dbo' 


    --有数据名没有数据库用户,可以使用以下语句加上数据库登录名
    Exec  sp_change_users_login  'UPDATE_ONE',没有登录名的数据库用户,'新的登录名'  
    跨数据库访问的一些SQL语句:

    select a.* from openrowset('SQLOLEDB','服务器地址';'用户名';'密码',数据库名称.dbo.tbUser) a

    Select a.* from OPENROWSET('MSDASQL','DRIVER={SQL Server};
               SERVER=
    服务器地址;UID=用户名;PWD=密码',数据库名称.dbo.tbUser) a

    select a.* from openrowset('SQLOLEDB','服务器地址';'用户名';'密码',数据库名称.dbo.tbUser) a
    OPENROWSET('SQLOLEDB','服务器地址,端口';'用户名';'密码''SQL语句')

    --使用Jet 的 Microsoft OLE DB:
    OPENROWSET('Microsoft.Jet.OLEDB.4.0''c:\test.mdb';'admin';'pwd', Orders



     

    有表Test结构如下
    ID                   name
    1                      aa
    2                      bb
    3                      cc
    4                      dd
    5                      aa
    6                      ac
    7                      cc
    8                      df
    第一个语句删除重复的数据。但想在重复的数据中只保留一条记录
    SQL语句为
    delete from test where id not inselect min([id ]from test group by [name])
    第二个语句要求随机获得5条数据,SQL语句为
    select top 5 * from test order by newid()

    sql 中将一列中的多行数据转换成一个字符串的函数:

    Code
  • 相关阅读:
    BackGroundWorker解决“线程间操作无效: 从不是创建控件的线程访问它”
    C#代码与javaScript函数的相互调用
    浅述WinForm多线程编程与Control.Invoke的应用
    web.config中appSettings配置节修改的函数
    迭代,递归的题目(转)
    一些计算机知识的总结(转)
    软件测试中条件覆盖,路径覆盖,语句覆盖,分支覆盖的区别
    在gridview的行绑定中应用AnimationExtender效果
    页头下拉广告,加了关闭按钮,不闪屏
    request.params
  • 原文地址:https://www.cnblogs.com/vaiyanzi/p/845898.html
Copyright © 2011-2022 走看看