我有一个XML字段,我知道其中至少有一个"ChildNode",但可能更多.我试图在T-SQL中创建一个循环,它将每个ChildNode的XML作为VarChar(1000)并用它做一些逻辑.当我尝试以下...
...
SET @intIterator=1
SET @strValue = (SELECT XMLField.value('(/RootNode/ParentNode/ChildNode)[' + CAST(@intIterator AS VARCHAR(2)) + ']', VARCHAR(1000)) WHERE PrimaryKeyField=@intID)
WHILE LEN(@strValue) > 0
BEGIN
--LOGIC with @strValue not shown.
@intIterator = @intIterator + 1
@strValue = (SELECT XMLField.value('(/RootNode/ParentNode/ChildNode)[' + CAST(@intIterator AS VARCHAR(2)) + ']', VARCHAR(1000)) WHERE PrimaryKeyField=@intID)
END
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:xml数据类型方法"value"的参数1必须是字符串文字.
我知道当我尝试在值方法中使用@intIterator时它正在爆炸,因为它需要字符串文字而不是变量,但是如何在T-SQL中逐个迭代子节点?
根据我的理解,.Net将SqlConnection默认汇集连接字符串相同的对象.如果我调用Dispose方法,连接是否仍然会被合并?
在ASP.NET应用程序的上下文中询问此问题,该应用程序有时会在单个PageLoad事件中对数据库进行多次命中.我希望将连接汇集在一起,但是希望确认在数据操作完成后关闭和处理连接不会干扰.NET对连接池的处理.
我最近在程序的顶部使用了方法摘要XML Comments,并且想知道是否存在与此相关的任何逻辑或良好实践.
我从未在评论中添加任何内容,因为我将方法的描述放在摘要标记中.什么属于摘要,什么属于备注?
我很少在返回标记中放置任何内容,因为它似乎是多余的,因为我通常会解释摘要中返回的内容.我应该简单地保留返回标记中返回的对象类型吗?
任何人都可以建议这些XML注释的良好,逻辑或常用方法对团队中的其他程序员有益,同时不要求多次显示相同的信息吗?
在.Net Aspx页面或Web服务需要在表格中执行大约20-200行插入的情况下,您会推荐以下哪种方法?为什么?小的性能提升可能意味着我仍然会使用我最熟悉的方法,所以请告诉它是否会产生很大的不同.关于什么时候使用一个在另一个上真正有意义的任何一般指导将不胜感激.
其他注意事项:每个插入所需的逻辑处理量各不相同,但可以假设几乎不需要.我最感兴趣的是,对于这些小批量插件的四种选择之一,每天可以重复几十到几百次,可能会有大量的性能/易用性/其他好处.
我在 SSMS (2008) 中有一个自定义的键盘查询快捷方式,其中包含以下 t-sql ...
SELECT TOP(50) * FROM
Run Code Online (Sandbox Code Playgroud)
这使我可以简单地输入一个表的名称,然后按我的键盘快捷键来获取该表中的前 50 个项目。我的问题是我喜欢使用 WITH(NOLOCK) 进行查询,因此记录不会被锁定。我还没有弄清楚如何将 T-SQL 输入到键盘查询快捷方式中,其中输入位于语句的中间。如何在不使用存储过程的情况下合并 NoLock?