《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.13 创建视图...

本节书摘来自异步社区出版社《PowerShell V3—SQL Server 2012数据库自动化运维权威指南》一书中的第2章,第2.13节,作者:【加拿大】Donabel Santos,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.13 创建视图

本方案展示了如何用PowerShell和SMO创建视图。

2.13.1 准备

我们将会使用AdventureWorks2008R2数据库的Person.Person表。

为了知道我们将会创建什么,我们给出了等价的T-SQL。

CREATE VIEW dbo.vwVCPerson
AS
SELECT TOP 100BusinessEntityID,LastName,FirstName
FROM Person.Person
WHERE PersonType = 'IN'
ORDER BYLastName
GO

2.13.2 如何做…

1.通过“Start | Accessories | Windows PowerShell | Windows PowerShell ISE”打开PowerShell控制台。

2.导入SQLPS模块,创建一个新的SMO服务器对象。

#import SQL Server module
Import-Module SQLPS –DisableNameChecking
#replace this with your instance name
$instanceName = "KERRIGAN"
$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server
-ArgumentList $instanceName

3.添加下面的脚本并运行。

$dbName = "AdventureWorks2008R2"
$db = $server.Databases[$dbName]
$viewName = "vwVCPerson"
$view = $db.Views[$viewName]
#if view exists, drop it
if ($view)
{$view.Drop()
}
$view = New-Object -TypeName Microsoft.SqlServer.Management.SMO.View –ArgumentList
$db, $viewName, "dbo"
#TextMode = false meaning we are not
#going to explicitly write the CREATE VIEW header
$view.TextMode = $false
$view.TextBody = @"
SELECT TOP 100BusinessEntityID,LastName,FirstName 
FROM Person.Person
WHERE PersonType = 'IN'
ORDER BYLastName
"@
$view.Create()

4.通过在PowerShell中运行下面的代码测试视图。

$result = Invoke-Sqlcmd `
-Query "SELECT * FROM vwVCPerson" `
-ServerInstance "$instanceName" `
-Database $dbName 
$result | Format-Table –AutoSize

5.检查是否已创建视图。打开SSMS,展开AdventureWorks2008R2数据库的Views。

image

2.13.3 如何实现…

为了使用SMO和PowerShell创建视图,你首先需要创建一个SMO View变量,它需要3个参数:database handle、view name和schema。

$view = New-Object -TypeName Microsoft.SqlServer.Management.SMO.View 
-ArgumentList $db, $viewName, "dbo"

可选的设置视图的所有者。

$view.Owner = "QUERYWORKS\aterra"

视图创建的核心是视图的定义。我们将TextMode属性设置为true或false。

$view.TextMode = $false
$view.TextBody = @"
SELECT TOP 100BusinessEntityID,LastName,FirstName 
FROM Person.Person
WHERE PersonType = 'IN'
ORDER BYLastName
"@

如果将TextMode属性设置为false,意味着让SMO构造视图头部。

$view.TextMode = $false

如果将TextMode属性设置为true,意味着你需要定义视图的TextHeader属性。

$view.TextMode = $true
$view.TextHeader = "CREATE VIEW dbo.vwVCPerson AS "

当都准备好后,调用视图的Create方法。

$view.Create()

2.13.4 更多…

当创建数据库对象如视图、存储过程或者函数,你需要为对象的定义写代码。尽管技术上允许你将代码放在一行,但是将它们放在多行格式更具可读性。

为了嵌入代码块到PowerShell,你需要创建一个字符串。该字符串以@”开始并什么都不跟,并且以”@结束,且必须是该行开头的前两个字符。

$view.TextBody = @"
SELECT TOP 100BusinessEntityID,LastName,FirstName 
FROM Person.Person
WHERE PersonType = 'IN'
ORDER BYLastName
"@

这个构造可能让你会向导C类型注释,以/开头以/结束,只是使用不同的字符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python刷抖音_用Python生成抖音字符视频!

抖音字符视频在去年火过一段时间。 反正我是始终忘不了那段极乐净土的音乐... 这一次自己也来实现一波,做一个字符视频出来。 主要用到的库有cv2,pillow库。 原视频如下,直接抖音下载的,妥妥的水印。 不过并不影响本次的操作。 / …

《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.2 选购镜头时应注意的事项...

本节书摘来自异步社区出版社《淘宝网开店 拍摄 修图 设计 装修 实战150招》一书中的第1章,第1.2节,作者: 葛存山,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.2 选购镜头时应注意的事项 面对如此之多的镜头&#xf…

SAM4E单片机之旅——13、LCD之ASF初步

在Atmel Studio 6中,集成了Atmel Software Framework(ASF框架)。通过它提供的库,可以很快速地完成新的项目。 这次的最终目标使用ASF在LCD上显示出文字“Hello World!”,现阶段目标是点亮LCD的背光,学习目标…

OpenCV坐标体系的初步认识

实验基础本次实验通过一个简短的例子,主要来说明下面4个问题: 1. 坐标体系中的零点坐标为图片的左上角,X轴为图像矩形的上面那条水平线;Y轴为图像矩形左边的那条垂直线。该坐标体系在诸如结构体Mat,Rect,Point中都是适用的。&…

在Visual Studio上开发Node.js程序

在Visual Studio上开发Node.js程序 原文:在Visual Studio上开发Node.js程序【题外话】 最近准备用Node.js做些东西,于是找找看能否有Visual Studio上的插件以方便开发。结果还真找到了一个,来自微软的Node.js Tools for Visual Studio(NTVS&a…

mpls工作原理通俗解释_用这两种方法向最终用户解释NLP模型的工作原理还是不错的...

点击上方关注,All in AI中国上周,我看了一个关于“NLP的实践特性工程”的演讲。主要是关于LIME和SHAP在文本分类可解释性方面是如何工作的。我决定写一篇关于它们的文章,因为它们很有趣、易于使用,而且视觉上很吸引人。所有的机器…

三层架构——配置文件

1、配置文件是什么? 配置文件是随安装程序一起被安装到计算机上的文件,里面存放着安装好的应用程序执行时所须要的參数。 应用程序配置文件是标准的XML文件,XML标记和属性是区分大写和小写的。它能够按须要更改,开发者可使用配置文…

《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》——02-04项目范围(Scope)管理...

本节书摘来异步社区《嵌入式系统开发之道——菜鸟成长日志与项目经理的私房菜》一书中的第2章,第2.4节,作者:邱毅凌,更多章节内容可以访问云栖社区“异步社区”公众号查看 02-04项目范围(Scope)管理 嵌入式…

flex(入门)之timer的使用,键盘,鼠标的监听

package {import flash.display.Shape;import flash.display.Sprite;import flash.events.Event;import flash.events.KeyboardEvent;import flash.events.MouseEvent;import flash.events.TimerEvent;import flash.utils.Timer;import mx.controls.Label;//窗体大小&#xff0…

python 线程超时设置_python 条件变量Condition(36)

文章首发微信公众号,微信搜索:猿说python对于线程与线程之间的交互我们在前面的文章已经介绍了 python 互斥锁Lock / python事件Event , 今天继续介绍一种线程交互方式 – 线程条件变量Condition.一.线程条件变量Condition相关函数介绍acquire() — 线程…

MsWord 操作总结

转自(http://www.cnblogs.com/eye-like/p/4121219.html) Msdn上的word操作api(不过只有英文版,英文差的先闪过) Word2007的API:http://msdn.microsoft.com/en-us/library/bb257531(voffice.12).aspxWord201…

两数之和 python_同一屏幕播放两个视频 视频左右两个画面或视频上下两个画面如何制作...

咱们在网上经常可以看到一些视频画面是可以在同一屏幕播放两个视频,有的是视频左右两个画面或视频上下两个画面这些是如何制作的呢,其实熟悉视频编辑软件的网友应该会比较了解这些操作,好嘞,来,现在就让小编来演示一下…

dlib人脸特征点对齐

前面我们介绍了使用dlib进行人脸检测&#xff0c;下面我们给出如何使用dlib进行人脸特征点检测。我们直接贴出代码。我们的代码包括如下几部分功能&#xff1a; 检测单张图片检测一个视频检测一个camera 先给出代码&#xff1a; #include <dlib/image_processing/frontal_…

《LoadRunner 12七天速成宝典》—第2章2.6节第二个性能测试案例

本节书摘来自异步社区《LoadRunner 12七天速成宝典》一书中的第2章&#xff0c;第2.6节第二个性能测试案例&#xff0c;作者陈霁&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 2.6 第二个性能测试案例云云&#xff1a;烤鱼吃得很爽。 恋恋&#xff1a;就…

MongoDB_1

突然想去看下MongoDB的东西&#xff0c;于是有了这篇文章。其实很早以前就看过一些关于NoSql的文章&#xff0c;还记得当时里面有介绍MongoDB的&#xff0c;多瞅了2眼&#xff0c;并且在Window下安装了MongoDB的驱动&#xff0c;小玩了会。今天重新翻出来&#xff0c;没成想在命…

pyqt5从子目录加载qrc文件_实战PyQt5: 045-添加资源文件

添加资源文件在使用PyQt进行图形界面开发的时候不免要用到一些外部资源&#xff0c;比如图片&#xff0c;qss配置文件等。在前面代码中&#xff0c;遇到这类问题&#xff0c;我们使用绝对路径的方式来解决&#xff0c;这种方式&#xff0c;本身有其不方便之处(比如&#xff0c;…

西门子ddc_铁门关西门子两通电动阀VVF42.25-10C+SKD60西

铁门关西门子两通电动阀西SIEMENS/西门子电动温控阀、控制箱、电动蝶阀、电动球阀、超声波热量表、超声波流量计、电磁流量计阀体灰口铸铁 EN-GJL-2502.霍尼韦尔主营&#xff1a;楼宇资料系统、热网自控系统、风机盘管电动两通阀、空气压差开关、水流开关、电动执行器、风阀执行…

JS-键盘事件之方向键移动元素

注意三点&#xff1a; 1&#xff1a;事件名称onkeydown。 2&#xff1a;事件加给document&#xff0c;而非window。 3&#xff1a; 把元素的top&#xff0c;left值分别用offsetTop&#xff0c;offsetLeft来设定。 <!DOCTYPE html> <html><head><meta char…

Swift学习字符串、数组、字典

一.字符串的使用 let wiseWords "\"I am a handsome\"-boy" var emptyString "" if emptyString.isEmpty{ println("这是一个空值") }简单说明&#xff1a;isEmpty方法是用来判断字符串是否为空值的&#xff0c;之后会执行if语句中的…

python对excel操作简书_Python读写Excel表格,就是这么简单粗暴又好用

最近在做一些数据处理和计算的工作&#xff0c;因为数据是以.CSV格式保存的&#xff0c;因此刚开始直接用Excel来处理。 但是做着做着发现重复的劳动&#xff0c;其实并没有多大的意义&#xff0c;于是就想着写个小工具帮着处理。 以前正好在一本书上看到过&#xff0c;使用Pyt…