有关如何以编程方式从SQL Server 2005获取完全相同的存储过程源的任何指针,就像我在SQL Server Management Studio中右键单击该存储过程并选择修改一样?
我正在尝试使用SMO,但存在一些文本差异.该过程始终具有CREATE,而不是ALTER,并且标头中存在一些差异,例如在我以编程方式获取的版本中缺少GO.我可以解决这些问题,但也许还有更好的方法吗?
我再次使用SMSE在SQL Server 2005中.通过Visual Studio 8 2008使用SMO.
更新:得到一些答案,告诉我们如何检索存储过程的基础知识.我正在寻找的是检索与GUI生成的文本相同(或几乎相同)的文本.
示例:对于sp_mysp,在Management Studio中单击鼠标右键,选择"修改".这会产生:
USE [MY_DB] GO /****** Object: StoredProcedure [dbo].[sp_mysp] Script Date: 01/21/2009 17:43:18 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= ALTER PROCEDURE [dbo].[sp_mysp]
我想以编程方式获得相同的东西(注意标题中的GO,以及它是一个更改程序的事实.理想情况下,我希望通过最小程序修复所检索的源来实现此目的.
我很乐意在Script Date细节中得到不同的东西...
我有很多文件,我检查到SVN没有正确设置他们的Mime类型.SVN最初将它们归类为二进制.
我已经通过propset将他们的Mime类型通过propset设置为"text/plain; charset = UTF-8"并且我确保所有文件都是UTF-8签名的.当我'svn blame filename'时,svn说该文件是二进制的,并没有给我明确的责备类型输出.
关于如何说服SVN这些是真正的文本文件的任何建议?
比如匹配任何文件夹名称,除了扩展名之前有点(.)的文件
我尝试[^\.]
并且.+[^\.].*
没有任何效果
我有以下代码:
protected <T> T getValueForKey(String key) {
T value = null;
// currentStats is just a Bundle
if (currentStats.containsKey(key)) {
return value;
}
return value;
}
Run Code Online (Sandbox Code Playgroud)
我该如何设置限制?例如,T是String或int或double.这可能吗?
PS
我不想用
protected <T extends String> T getValueForKey(String key) {
}
Run Code Online (Sandbox Code Playgroud)
因为我不想只有弦乐..
我有一个列有事件日期的专栏.(比方说:A1:A100)
现在我想使用公式来查找或显示2013年1月发生的事件数.
有任何想法吗 ?
我从Source_Test数据库Destination_Test数据库复制表.
用Microsoft.SqlServer.Management.Smo.Transfer
.
它复制了所有表格 from Source_Test to Destination_Test
但我想要有架构'TestSchema'的表.
主要问题是,它复制了所有表dbo schema
.即使我设置 this.CopyAllTables = false;
它仍然复制它.如何限制它.我试过以下:
public class CopyTable : Transfer, ISchemaCopy
{
private void CopyTables()
{
this.CopyAllTables = false;
var server = new Server(new ServerConnection(connection));
var script = this.ScriptTransfer().Cast<string>();
}
}
Run Code Online (Sandbox Code Playgroud) 在Oreilly的书"Classic Shell Scripting"一节中,3.2.2.4"锚定文本匹配"为什么相应的[^]不是正则表达式?
我不明白为什么它不是正则表达式?有人可以给我一个提示吗?
我被这个问题激起了好奇心,我去寻找List.Clear()的实现.我跑ildasm
的时候System.Collections.dll
是这样的:
cd c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5
"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe" System.Collections.dll
Run Code Online (Sandbox Code Playgroud)
看着System.Collections.Generic.List`1::Clear : void()
,这就是我发现的:
.method public hidebysig newslot virtual final
instance void Clear() cil managed
{
// Code size 1 (0x1)
.maxstack 8
IL_0000: ret
} // end of method List`1::Clear
Run Code Online (Sandbox Code Playgroud)
那不是我想要的.
我知道有些.NET dll是间接层,因此可以指向不同版本的框架.如果是这种情况,我该如何确定实际代码的位置?或者,如果还有其他事情发生,那么有关如何使用ildasm
此类任务的提示表示赞赏.我更有能力ildasm
使用它来查看我自己的东西,但是没有经验使用它来检查框架代码.
更新
在正确的方向上使用汉斯指针我最终做了以下事情:
cd C:\Windows\Microsoft.NET\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089
"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe" mscorlib.dll
Run Code Online (Sandbox Code Playgroud)
这导致我对Clear()方法的以下内容System.Collections.Generic.List`1::Clear : void()
:
.method public hidebysig newslot virtual final …
Run Code Online (Sandbox Code Playgroud) 这是一个更大的更复杂的数据集的最小例子,只是试图让我的头脑周围的东西.
> grep("X10\\.1+",c("X10.10","X10.11","X10.12"))
[1] 1 2 3
Run Code Online (Sandbox Code Playgroud)
现在我2
原本只期望被归还,因为'+'应该是'前面元素中的一个或多个'.我认为逃避这段时间(我必须处理,所以想要保持在示例中)可能导致问题.
> grep("X101+",c("X1010","X1011","X1012"))
[1] 1 2 3
Run Code Online (Sandbox Code Playgroud)
那么,我对'+'功能的理解是错误的?
结论:
谢谢@James.所以我的理解是+是'另外一个或多个前面的元素'而不是它实际意味着什么,这是'只需要前面一个元素的一个或多个'.
11+会完成我的想法(在第一个之后有1个或更多的1个等).干杯
我是MySQL新手,我试图找到:
给定日期的最大值与前一天的最大值之间的差异.
我能够通过以下方式获得日期的最大值:
select max(`bundle_count`), `Production_date`
from `table`
group by `Production_date`
Run Code Online (Sandbox Code Playgroud)
但我不知道如何使用SQL来计算两个给定日期的最大值之间的差异.
我期待这样的输出
请帮我.
你能解释一下这个for循环是如何工作的吗?
for (int i = 0, ii = deck.size(); i != ii;) {
int x = i % NUMBER_OF_CARDS;
int y = i / NUMBER_OF_CARDS;
Card d = deck.get(i++);
d.setFace(true); // face up
d.displayCard(40 + x * 90, y * 140 + 10); // draw them
println(d.getRank()); // println
text("Value:" + d.getRank() + " of " + d.getSuit(), 40+x * 90, y * 140 + 120);
}
Run Code Online (Sandbox Code Playgroud) 我有一个大文本文件,每行有数千个单词.
如何删除以大写字母开头的所有行以及仅包含单个字母的所有行.
A -> To be deleted
a -> To be deleted
abjurer
abkar
abkari
Abkhas -> To be deleted
Abkhasian -> To be deleted
ablach
ablactate
ablactation
B -> To be deleted
b -> To be deleted
Bounce -> To be deleted
...
...
Run Code Online (Sandbox Code Playgroud)
是否可以使用Bash执行此操作.
谢谢.
我想更新信息.当我在代码中使用以下代码时,我的代码出错了:
if(isset($_POST['submit'])){
$sql = "UPDATE `food`.`food_item`
SET `food_name` = '$_POST[food_name]',
`food_price` = '$_POST[food_price]',
`food_cat` = '$_POST[food_category]'
WHERE `food_item`.`id` ='$_POST[id]';";
$result = mysql_query($sql) or die("query not");
header("Location: product_info.php") ;
}
Run Code Online (Sandbox Code Playgroud)