SQL SERVER先判断视图是否存在然后再创建视图的语句

日期:2020-04-29编辑作者:数据库

如果我们的语句为:

对于大部分现代化面向对象的编程语言都拥有结构化的错误处理语法特性,swift也不例外。当我们在一个方法或函数中实现某些功能时,如果遇到错误的用户输入则可能导致严重的异常问题,此时我们可以选择通过抛出异常的方式,将此错误送给函数调用者。

IF NOT EXISTS(SELECT 1 FROM sys.views WHERE name='Report_IndividualTicket')BEGINcreate view Report_IndividualTicketasSELECT Ticket.TicketNumber, Ticket.TicketID,GisProcess.StageName,Content.DtReceived, Content.ContentTextFROM(GisProcess INNER JOIN TicketON GisProcess.TicketID=Ticket.TicketID)INNER JOIN ContentON Ticket.ContentID=Content.ContentIDEND
我们常用 try-catch 结构,不过在swift编程语言中没有引入专门的 try 语句块,而是直接调用之前的 do 语句块,仅仅将 try 作为抛出异常的函数或方法的标识,然后在 do 语句块后接 catch 语句块捕获错误并进行处理。

do {
    let str = try String(contentsOfFile: "/Users/zennychen/Desktop/test.txt", encoding: String.Encoding.ascii)
    print("content is: (str)")
}
catch {
    print("file read failed!")
}

www.129028.com金沙,会提示以下错误:

第一节 swift中错误的表示

在 swift 中如果我们要定义一个表示错误的类型非常简单,只要遵循 Error 协议就可以了,我们通常用枚举或结构体来表示错误类型,枚举可能用的多些,因为它能更直观的表达当前错误类型的每种错误细节。

当我们定义了一个错误类型之后,可以实现 Error 协议中扩展默认实现的只读属性 localizedDescription,用于描述当前错误对象的详细信息

/// 定义一个枚举类型的错误类型
enum MyEnumError: Error {
    case errorOne
    case errorTwo
    /// 实现Error协议的localizedDescription只读实例属性
    var localizedDescription: String {
        let desc = self == .errorOne ? "the first errror" : "the second error"
        return "(self): (desc)"
    }
}

/// 定义一个结构体类型的错误类型
struct MyStructError: Error {
    var errCode: Int = 0
    /// 实现Error协议的localizedDescription只读实例属性
    var localizedDescription: String {
        return "The error code is: (errCode)"
    }
}

print("The enum error is: (MyEnumError.errorOne.localizedDescription)")
print("The struct error is: (MyStructError().localizedDescription)")

Msg 156, Level 15, State 1, Line 4Incorrect syntax near the keyword 'view'.

第二节 swift中的错误抛出

如果我们在一个函数或方法中可能要抛出一个错误,那么我们必须在该函数的形参列表后面,返回类型前面(即 -> 前面)添加 throws 关键字,以显示告诉编译器,该函数可能会抛出错误。

/// 定义一个foo函数,
/// 它可能会抛出一个错误,
/// 因此这里用throws限定。
/// 注意throws的位置
func foo(a: Int) throws -> Int {
    if a < -10 {
        // 如果a的值小于-10,
        // 则抛出MyEnumError.errorOne
        throw MyEnumError.errorOne
    }
    else if a > 10 {
        // 如果a的值大于10,
        // 则抛出MyEnumError.errorTwo
        throw MyEnumError.errorTwo
    }
    else if a == 0 {
        // 如果a的值为0,
        // 那么抛出MyStructError对象,
        // 并且其errCode的值为-1
        throw MyStructError(errCode: -1)
    }

    print("a = (a)")

    return a
}

// ref的类型为:(Int) throws -> Void
let ref = foo(a:)

本文由www.129028.com金沙发布于数据库,转载请注明出处:SQL SERVER先判断视图是否存在然后再创建视图的语句

关键词:

SQL Server 2000的安全配置

SQLserver2000数据库应用非常广泛,一旦出现安全问题,造成的损失往往难以估量!应提前预防,防患于未然。这里,我...

详细>>

如何查看某个查询用了多少TempDB空间www.129028.com金沙

DECLARE @read BIGINT, @write BIGINT; SELECT @read = SUM(num_of_bytes_read), @write = SUM(num_of_bytes_written) FROM tempdb.sys.database_files AS DBFJOI...

详细>>

浅析SQL语句中GROUP BY的用法

GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用,你可以想想 你用了GROUP BY 按 ITEM.ITEMNUM这个字段分组,那其他字...

详细>>

微软总是试图使它的软件安装尽可能地简单顺www.129028.com金沙

如果你没有特意记录安装日期,那么有没有办法从SQL Server里查询到呢?想想我们在安装的时候,肯定会有Windows认证登...

详细>>