我有一个很长的存储过程,它以下面的语句开头:
IF NOT EXISTS (SELECT * FROM sys.databases WHERE name = N'DBNAME')
BEGIN
CREATE DATABASE [DBNAME]
END;
Run Code Online (Sandbox Code Playgroud)
如果它不存在,它应该在我的本地服务器上创建数据库.问题是几乎所有的时间它都存在于存储过程的这一部分而不创建它,然后它会干扰同一过程中的其他代码.另一方面,在极少数情况下,它会创建数据库.我的问题是:有没有更好的方法来检查数据库是否存在,因为我已经尝试过至少10个.
我试过的其他方法:
IF NOT EXISTS (SELECT 1 FROM sys.databases WHERE name = N'DBNAME')
BEGIN
CREATE DATABASE [DBNAME]
END;
IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = N'DBNAME')
BEGIN
CREATE DATABASE [DBNAME]
END;
IF NOT EXISTS (SELECT name FROM master.dbo.sys.databases WHERE name = N'DBNAME')
BEGIN
CREATE DATABASE [DBNAME]
END;
Run Code Online (Sandbox Code Playgroud)
但是如果我在我的sp之外运行它,它可以很好地工作,这让我觉得它可能是与权限相关的一些问题.
我想在CLion上运行一个简单的C++程序.问题是,当我尝试编译并运行它时,它会在应用程序控制台中显示结果.我想在系统控制台上运行,就像Visual Studio运行控制台应用程序的输出一样.有没有办法做到这一点.我用MINGW编译器.
我有以下问题:我应该计算另一个给定数字的斐波纳契数.我知道皮萨诺时期,我想在这里实施它.这是代码:
#include <iostream>
#include <cstdlib>
long long get_fibonaccihuge(long long n, long long m) {
long long period = 0;
if (m % 2 == 0) {
if(m / 2 > 1)
period = 8 * (m / 2) + 4;
else
period = 3;
}
else{
if(((m + 1) / 2) > 1)
period = 4 * ((m + 1) / 2);
else
period = 1;
}
long long final_period = n % period;
long long array_fib[final_period];
array_fib[0] = 1; …Run Code Online (Sandbox Code Playgroud) 我正在使用Meteor,我正在尝试检查文本是否为html.但通常的方法不起作用.这是我的代码:
post: function() {
var postId = Session.get("postId");
var post = Posts.findOne({
_id: postId
});
var object = new Object();
if (post) {
object.title = post.title;
if ($(post.content).has("p")) { //$(post.content).has("p") / post.content instanceof HTMLElement
object.text = $(post.content).text();
if (post.content.match(/<img src="(.*?)"/)) {
object.image = post.content.match(/<img src="(.*?)"/)[1];
}
} else {
console.log("it is not an html------------------------");
object.text = post.content;
}
}
return object;
}
Run Code Online (Sandbox Code Playgroud)
实际上,这是我迄今为止使用过的最"有效"的解决方案.另外,我指出了我使用的两种最常见的方法(在if语句旁边).没有正则表达式是否有可能发生.