可以使用确定#t1等临时表的名称
select @TableName = [Name]
from tempdb.sys.tables
where [Object_ID] = object_id('tempDB.dbo.#t1')
Run Code Online (Sandbox Code Playgroud)
如何找到表值变量的名称,即声明的变量名称
declare @t2 as table (a int)
Run Code Online (Sandbox Code Playgroud)
目的是能够使用类似的东西获取关于表的元信息
select @Headers = dbo.Concatenate('[' + c.[Name] + ']')
from sys.all_columns c
inner join sys.tables t
on c.object_id = t.object_id
where t.name = @TableName
Run Code Online (Sandbox Code Playgroud)
虽然对于临时表,你必须查看tempdb.sys.tables而不是sys.tables.你在哪里寻找表值变量?
我现在意识到我不能做我想做的事情,这是写一个通用函数来将表值变量格式化为html表.对于初学者,在sql server 2005中,您无法传递表值参数:
http://www.sqlteam.com/article/sql-server-2008-table-valued-parameters
而且,在sql server 2008中,参数必须是强类型的,因此您将始终知道列的数量和类型.
我有一个简单的表评论(id INT, revision INT, comment VARCHAR(140))与这样的一些内容:
1|1|hallo1|
1|2|hallo2|
1|3|hallo3|
2|1|hallo1|
2|2|hallo2|
Run Code Online (Sandbox Code Playgroud)
我正在搜索一个SQL语句,它将返回具有最高版本的每个评论:
1|3|hallo3|
2|2|hallo2|
Run Code Online (Sandbox Code Playgroud)
我想出了这个解决方案:
select id, revision, comment
from comments
where revision = (
select max(revision)
from comments as f
where f.id = comments.id
);
Run Code Online (Sandbox Code Playgroud)
但是在大型数据集上它很慢.有没有更好的查询来实现这一目标?
如何查看某个对象是否已加载,如果没有加载,如何加载,如下所示?
if (!isObjectLoaded(someVar)) {
someVar= loadObject();
}
Run Code Online (Sandbox Code Playgroud) 我正在编写审计跟踪的报告视图,我需要在.jsp中显示它.将数据从数据库传输到屏幕的"最佳"方法是什么?
我们使用Spring进行依赖注入,数据访问对象和Hibernate.我可以使用hibernate或直接jdbc来生成此报告.
如果我将所有记录加载到内存中,我的内存不足.
任何不涉及在jsp中运行查询的想法?
我有两个DateTime对象:StartDate和EndDate.我想确定StartDate是在此之前EndDate.这是如何在C#中完成的?
鉴于这门课程
class Foo
{
// Want to find _bar with reflection
[SomeAttribute]
private string _bar;
public string BigBar
{
get { return this._bar; }
}
}
Run Code Online (Sandbox Code Playgroud)
我想找到我将用属性标记的私有项_bar.那可能吗?
我已经用我寻找属性的属性做了这个,但从来没有私有成员字段.
获取私有字段需要设置哪些绑定标志?
我的Vista应用程序需要知道用户是"以管理员"(提升)还是以标准用户(非提升)方式启动它.我怎样才能在运行时检测到它?
假设我们有:
interface Foo
{
bool Func(int x);
}
class Bar: Foo
{
bool Func(int x)
{
return (x>0);
}
}
class Baz: Foo
{
bool Func(int x)
{
return (x<0);
}
}
Run Code Online (Sandbox Code Playgroud)
现在我们可以将Bar和Baz作为Foos折腾并调用他们的Func方法.
代表们对此进行了简化:
delegate bool Foo(int x);
bool Bar(int x)
{
return (x<0);
}
bool Baz(int x)
{
return (x>0);
}
Run Code Online (Sandbox Code Playgroud)
现在我们可以作为Foo代表折腾Bar和Baz.
除了获得更短的代码之外,代表们的真正好处是什么?