小编Dav*_*.ca的帖子

从Oracle 9i中的嵌套查询中进行选择

在MS SQL 2005或T-SQL中,您可以执行以下操作:

SELECT T.NAME, T.DATE 
  FROM (SELECT * FROM MyTable WHERE ....) AS T
Run Code Online (Sandbox Code Playgroud)

我没能在Oracle 9i DB上尝试类似的SQL.在MS SQL中,嵌套SQL被视为在fly上创建的临时/动态视图,之后被销毁.我怎样才能在Oracle中做类似的事情?我真的不想创建一个视图来做到这一点.

oracle plsql

1
推荐指数
1
解决办法
6053
查看次数

通用SQL获取最大值,将表和列名称作为varchar

使用以下SQL很容易获取特定主键的值:来自特定表的ID:myTale:

DECLARE @v_maxID bigint;
SELECT @v_maxID = MAX(ID) FROM myTable;
Run Code Online (Sandbox Code Playgroud)

我需要的是一个通用SQL代码,用于从表中获取键的最大值,其中键和表都被指定为varchar(max)类型作为参数:

DECLARE @v_maxID bigint;
-- SELECT @v_maxID = MAX(@p_ID) FROM @p_Table;
Run Code Online (Sandbox Code Playgroud)

我注释掉SELECT,因为它不起作用.我试图构建一个SQL字符串,我可以执行它,但我无法将最大值恢复到我的本地变量(@v_maxID).有什么建议?

sql sql-server-2005

1
推荐指数
2
解决办法
1623
查看次数

重置主键(int作为标识)

我有一个主键为bigint的表(标识属性为是,从1开始盯着).此表已投入生产,并且每日更新:大量删除和插入.

问题是这个密钥现在变得太大了8位数.我终于担心有一天会溢出.

幸运的是,此密钥不用作任何其他表的外键.它仅用于标识表中的行.因此,我可以安全地重置从1开始的键值,也许每年一次.

我可以创建一个空白表并在那里复制其他字段数据,然后删除原始表中的所有行,重置键/表,最后复制数据.

不确定Microsoft SQL 2005中是否有可用的内置sp_xxx来执行此任务:只是从1开始按顺序重置主键而不影响其他列数据?还是其他简单的解决方案?

t-sql sql-server-2005

1
推荐指数
1
解决办法
2292
查看次数

快速方法构建字符串,前导0为整数?

如果需要这样,我已经为前缀为0的整数构建了一个字符串:

 // myInt as input, for example: 101;
 List<string> sList = new List<string>();
 string format = "00#"; // how to build format dynamicall?
 for(int i= 1; i <= myInt; i++)
 {
     sList.Add(i.ToString(format));
 }
Run Code Online (Sandbox Code Playgroud)

预期结果应该是:

 001
 002
 ...
 010
 ...
 101
Run Code Online (Sandbox Code Playgroud)

如果我的整数是10或1000,我该如何动态构建格式?

c#

1
推荐指数
1
解决办法
365
查看次数

CS的MacVIM语法文件

我正在使用MacVim将cs文件转换为HTML.转换功能工作正常.但是,我不喜欢cs的默认语法高亮显示.

我理解在/Applications/Vim/MacVim.app/Contents/Resources/vim/runtime/syntax/cs.vim中的cs语法文件,Anduin Withers的Maintainer.不确定是否有任何其他方法可以用更好的语法高亮文件替换这个或用更新版本更新它?

c# vim

1
推荐指数
1
解决办法
1503
查看次数

要使用哪个集合类:Hashtable还是Dictionary?

我需要定义一个带有内部集合对象的类,以通过字符串键来保存不同类型的值(例如string,int,float,DateTime和bool).我可以使用Hashtable,因为它不是强类型集合类,而Dictionary用于强类型项(尽管我可以使用对象作为Dictionary).

这是我想要定义我的类及其用法的情况:

 public class MyBaseClass<D> {
   protected Hashtable ht = new Hashtable();

   MyClass public SetValue<T>(string key, T value)
   {
       ht.Add(key, value);
       return this;
   }

   public abstract D GetObject();
 }

 // Example of using the base class for data as class Data1
 public MyClass<Data1> : MyBaseClass<Data1> {
      public Data1 GetObject() {
         return new Data1 {
             Property1 = ht["key1"] as string,
             Property2 = Int.Parse(ht["key2"].ToString())
          }
 }
Run Code Online (Sandbox Code Playgroud)

以上示例,我不确定在MyBaseClass中保存数据的最佳集合是什么?我读了一些关于Hashtable的文章.它是一个过时的集合,与Dictionary集合相比性能要慢得多.我应该使用.Net 3.5中的Dictionary或任何其他可用的集合吗?

c# collections dictionary

1
推荐指数
1
解决办法
2303
查看次数

关于表达的问题:a?b:c

我尝试使用以下示例代码?b:c表达式:

DateTime? GetValue(string input)
{
  DateTime? val = string.IsNullOrEmpty(input) ? null : DateTime.Parse(input);
  return val;
}
Run Code Online (Sandbox Code Playgroud)

我有编译错误,因为在a?b:c表达式因为b和c是不同的数据类型; 不确定我是否可以使用(DateTime?)案例来分享?

  DateTime? val = string.IsNullOrEmpty(input) ? null : (DateTime?) DateTime.Parse(input);
Run Code Online (Sandbox Code Playgroud)

我宁愿不使用if将这一个分成两个或三个语句.

c#

1
推荐指数
1
解决办法
423
查看次数

通过powershell运行远程进程

在将其与用户名,密码和进程关联之前,我有以下代码行来创建访问远程服务器的对象:

$process = [WMIClass]"\\remoteServer\ROOT\cimv2:Win32_Process"
Run Code Online (Sandbox Code Playgroud)

我在两台PC上试过这个,一个没有任何错误,但我要运行的另一个有一个例外:

Cannot convert value "\\remoteServer\ROOT\cimv2:Win32_Process" to type "System.Manage
  ment.ManagementClass". Error: "Access is denied. (Exception from HRESULT: 0x800
  70005 (E_ACCESSDENIED))"
Run Code Online (Sandbox Code Playgroud)

remoteServer是同一个.不知道我必须在本地PC或远程PC上设置这项工作吗?在两台客户端PC上,用户名都是管理员的成员.

powershell

1
推荐指数
1
解决办法
9324
查看次数

关于var类型的问题

我是C#3.0 var类型的新手.这里我有一个关于这种类型的问题.以库中的以下简单代码为例:

 public class MyClass {
    public var Fn(var inValue)
    {
        if ( inValue < 0 )
        {
           return 1.0;
        }
        else 
        { 
           return inValue;
        }
    }
 }
Run Code Online (Sandbox Code Playgroud)

我认为参数是匿名类型.如果我传入一个浮点值,那么Fn应该返回一个浮点类型.如果传入double值类型,Fn会返回double类型吗?如何将整数值类型作为输入值?

实际上,我想使用带有此函数/方法的var类型来动态获取具有各种输入类型的不同返回类型.我不确定这种用法是否正确?

c#-3.0

0
推荐指数
2
解决办法
202
查看次数

如何在Vim中的替换文本中使用匹配的文本

我有一个代码块,每行前面有时间戳,如下所示:

12/02/2010 12:20:12 function myFun()
12/02/2010 12:20:13 {....
Run Code Online (Sandbox Code Playgroud)

第一列是日期时间值.我想通过使用Vim对它们进行评论,因此:

/*12/02/2010 12:20:12*/ function myFun()
/*12/02/2010 12:20:13*/ {....
Run Code Online (Sandbox Code Playgroud)

我试图先搜索日期:

/\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d
Run Code Online (Sandbox Code Playgroud)

我正确地标记了所有时间戳.但是当我尝试用命令替换它们时:

%s/\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d/\/*\d\d\/\d\d\/\d\d\d\d \d\d:\d\d:\d\d*\// 
Run Code Online (Sandbox Code Playgroud)

我得到了以下结果:

/*dd/dd/dddd dd:dd:dd*/ function myFun()
/*dd/dd/dddd dd:dd:dd*/ {....
Run Code Online (Sandbox Code Playgroud)

我想我需要命名搜索部分并将它们放回替换部分.我怎么能这样做?

regex vim replace

0
推荐指数
1
解决办法
341
查看次数