大概看了一下有接近二十天自己没有写博客了,一来是因为国庆之前公司工作总会比较繁杂一点,国庆自己也需要休息,二来是因为学习一些新的东西,公司写了一天SQL回家看了看以前的笔记,感觉还挺不错,贴出来供大家参考一下:
1.同一服务器不同数据库之间数据的导入
这个事属于数据导入方面的只是,如果经常操作数据库应该是会用到比较多的,业务场景为将FlyElephant中的DataSourceType中的数据导入到新数据库中的DataSoureType表中:
set identity_insert DataSourceType on
insert into DataSourceType(OID , DataSourceName, OptimisticLockField, GCRecord)
select OID, DataSourceName, OptimisticLockField , GCRecord from FlyElephant.dbo. DataSourceType a where
not exists( select DataSourceType. OID from DataSourceType where a.OID= DataSourceType.OID )
set identity_insert DataSourceType off
2.不同服务器之间不同数据库之间数据的导入
首先来看一个SQL语句
select * from sysobjects where name='sp_addlinkedserver'
首先使用这个存储过程建立一个链接:
EXEC sp_addlinkedserver 'FlyElephantLink', '','SQLOLEDB' ,'192.168.0.9'
建立连接之后创建登录信息,有两种登录方式,一种是window验证登录,一种是SQL认证的方式登录:
EXEC sp_addlinkedsrvlogin 'FlyElephantLink'
EXEC sp_addlinkedsrvlogin 'FlyElephantLink', 'false',null,'sa' ,'123456'
直接查询数据
SELECT * FROM FlyElephantLink.TestDB.dbo.TestTable
数据插入的请参考上一条,调用远程数据库的时候只需要加入你的连接的名称即可.
3.数据库简单的连表更新
业务场景:当某张表需要加一个字段,需要将另外一张表中的数据导入进来的时候这么操作过,具体请参考个人业务需求
update [User] set [User].Age= People.Age from [User] inner join People on [User].ID= People.UserID
4.查询表中的字段
这个用的比较少,当时自己操作的一张表中有一百多个字段,老板想问下表中有多少字段存储了数据,我懒得一个个数,搜索之后记录了一下:
select name from syscolumns where id=( select id from sysobjects where xtype= 'u' and name= '表名' )
其中sysobjects为系统表,主要储存系统中存在的表、触发器、存储过程等;syscolumns也为系统表,主要用于存储表的字段列;在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在sysobjects表中占一行。tempdb中只有临时对象才在该表中占一行。
5.删除有外键约束的表
数据库中有的设计的存在问题,发现原先的表设计的是有关联,这个时候你去直接Drop是会报错的,比如说有两张表,一张是Person(ID,Name),一张是User(ID,PersonID,UserName),User表中存有Person表的数据,直接Drop表Person的时候是会提示,无法删除对象 'Person',因为该对象正由一个 FOREIGN KEY 约束引用。
查出外建名:
select
a.name,a.object_id,OBJECT_NAME(a.parent_object_id) as referenceTableName
from sys.foreign_keys as a
join sys.objects as o on a.referenced_object_id=o.object_id
where o.name='Person'
删除外键(表是上面referenceTableName,外键就是上面的name字段)
alter table dbo.[User] drop constraint FK_User_Person
也没有什么太高深的东西,就是以前工作中遇到了,今天总结了一下,如果对你有所帮助,顺手给个推荐吧,么么哒~
MSSQL工作中常用的小技巧的更多相关文章
-
前端日常工作中常用开发小技巧 ---JavaScript
1.格式化金钱值 const ThousandNum = num => num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, "," ...
-
ES6中常用的小技巧,用了事半功倍哦
ES6中常用的小技巧,如果能在实际项目中能使用到,必定事半功倍: 1. 强制要求参数 ES6提供了默认参数值机制,允许你为参数设置默认值,防止在函数被调用时没有传入这些参数. 在下面的例子中,我们写了 ...
-
JS开发中常用的小技巧
1.获取指定范围内的随机数 1 2 3 function getRadomNum(min,max){ return Math.floor(Math.random() * (max - min ...
-
Extjs 项目中常用的小技巧,也许你用得着(2)
接着来,也是刚刚遇到的 panel怎么进行收缩 collapsible: true, 这会panel就会出现这个 点这个就可以收缩了 panel怎么随便拉伸,也就是让那个小黑三角出现 split: t ...
-
Extjs 项目中常用的小技巧,也许你用得着(1)
我在项目中遇到的一些知识点: 1.在GridPanel中显示图片,效果 对应的代码实现 { text: '是否启用', width: 80, // xtype: 'checkcolumn', data ...
-
Extjs 项目中常用的小技巧,也许你用得着(5)--设置 Ext.data.Store 传参的请求方式
1.extjs 给怎么给panel设背景色 设置bodyStyle:'background:#ffc;padding:10px;', var resultsPanel = Ext.create('Ex ...
-
Extjs 项目中常用的小技巧,也许你用得着(4)---Extjs 中的cookie设置
1.ExtJs设置cookie两种方式 其一:设置cookie如下 saveacct=isForm.getForm().findField('itemselector').getValue(); Ex ...
-
Extjs 项目中常用的小技巧,也许你用得着(3)
几天没写了,接着继续, 1.怎么获取表单是否验证通过: form.isValid()//通过验证为true 2.怎样隐藏列,并可勾选: hidden: true, 如果是动态隐藏的话: grid.ge ...
-
工作中常用的js、jquery自定义扩展函数代码片段
仅记录一些我工作中常用的自定义js函数. 1.获取URL请求参数 //根据URL获取Id function GetQueryString(name) { var reg = new RegExp(&q ...
随机推荐
-
PKCS#1规范阅读笔记1--------基本概念
规范中有很多数学相关的推演和计算,并不打算在这里介绍,主要介绍一下相关的计算流程及最终的签名结果. 算法可以分为:对称算法和非对称算法两大类.对称算法加密和解密都用的是同一个密钥:而非对称算法却是有一 ...
-
[SharePoint 2013] Set value for people editor with JSOM
function PeoplePicker() { this.context = null; this.web = null; this.currentUser = null; this.parent ...
-
ubuntu11.10搭建eclipse C++开发环境[zhuan]
1.最重要的东西,C++必要工具,安装的是GCC工具链,Make等一系列开发工具: sudo apt-get install build-essential 2. 安装Eclipse sudo apt ...
-
Silverlight ModelView中调用UI进程
Silverlihgt: Deployment.Current.Dispatcher.BeginInvoke wpf: App.Current.Dispatcher.Invoke
-
CS0016: 未能写入输出文件“c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\data\34aae060\b7daa87d\App_Web_addadvice.aspx.cdcab7d2.ekhlcbjd.dll”--“目录名无效。 ”
产生原因: 应用程序运行时产生的临时文件需要存放到c:"windows"temp 文件夹下 而运行基于microsoft .net framework 框架下的应用程序 需要对te ...
-
SQL按日期Datatime来比较大小
数据库操作中,通常需要选择某日期以后的记录,比如选择10年1月到11年2月之间的记录,此时用SQL语句编写时,不能直接用">.<.="来选择,因为datetime型数据 ...
-
01-Objective-C
前言 目 前来说,Objective-C(简称OC)是iOS开发的核心语言,在开发过程中也会配合着使用C语言.C++,OC主要负责UI界面,C语言.C++ 可用于图形处理.近来,流传Ruby.C# ...
-
ASP.NET MVC Filter的思考
思考了一下AOP的具体实现,后来想到ASP.NET MVC过滤器其实就是AOP的一种,于是从Filter下手研究AOP. 暂时先考虑AuthorizationFilter,ActionFilter,R ...
-
解决 ASP.NET Core 自定义错误页面对 Middleware 异常无效的问题
我们基于 Razor Class Library 实现了自定义错误页面的公用类库(详见之前的随笔),但是在实际使用时发现如果在 middleware 中发生了异常,则不能显示自定义错误页面,而是返回默 ...
-
【OCP-12c】CUUG 071题库考试原题及答案解析(21)
3.choose three View the Exhibit and examine the description of SALES and PROMOTIONS tables. You want ...