小编Mic*_*l A的帖子

我如何决定是否应该使用CTE?

忍受我,我是中级的​​新手.

我的问题是 - 我什么时候应该使用CTE?我该如何决定是否应该使用CTE?

我什么时候应该用这个:

;with cteTesting as
(
    select  *
    from    testing.first_table
)
select  *
from    testing.second_table s
        inner join cteTesting t
            on s.key = t.key
Run Code Online (Sandbox Code Playgroud)

在此:

select  *
from    testing.second_table s
        inner join
        (
            select  *
            from    testing.first_table
        ) t
        on s.key = t.key
Run Code Online (Sandbox Code Playgroud)

为什么?这只是代码流,代码可读性 - 还是有更技术性的东西?在某些情况下,会产生更好的执行计划吗?

编辑:刚刚意识到我的示例代码示例很差.我试图强调,在很多情况下我可以在from语句中使用select而不是CTE - 我如何决定应该使用哪一个?

sql t-sql database common-table-expression sql-server-2008

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

如何用表达式粗体/解开tablix文本?

我在tablix控件的文本框中有一个表达式:

="Rectification: " + Fields!MoreInfo.Value
Run Code Online (Sandbox Code Playgroud)

我想做的是以粗体显示"整顿:"这个词,其余的文字都是不加修饰的.不幸的是我不知道该怎么做.

我尝试过以下内容(根据Google的建议):

="<b>Rectification:</b> " + Fields!MoreInfo.Value
Run Code Online (Sandbox Code Playgroud)

但是,这会以字面形式显示标记.粗体上下文中的表达式似乎也适用于整个文本框,并且不能仅应用于其中的某些部分.

reporting-services ssrs-2008

4
推荐指数
1
解决办法
3万
查看次数

如果存在以前的版本,如何制作msi覆盖程序?

我正在使用Visual Studio 2010,我正在开发一个Windows应用程序,同时尝试为它自动更新程序面临严重问题.

当程序找到新版本并尝试安装它时,它可能不会因为两个原因:

1 - 应用程序存在于我的程序文件中.这样窗口出现了 在此输入图像描述

2 - 应用程序已经打开" the form that performed the update process".

该问题与版本号没有任何关系.

这是关于程序的存在以及安装新版本的能力,尽管之前的版本已经打​​开.

c# deployment wizard setup-project

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

如何插入多行 - 需要一个循环?

我有以下声明:

insert into forecast_entry.user_role_xref
        ( user_master_id ,
          role_id ,
          created_date ,
          created_by
        )
values
        ( 276 , -- user_master_id - int
          101 , -- role_id - int
          getdate() , -- created_date - datetime
          'MICHAELSK'  -- created_by - varchar(20)
        )
Run Code Online (Sandbox Code Playgroud)

我需要为role_id 101-355生成一行(所以上面的语句相同,除了使用role_id递增重复).最好的方法是什么?为了完成工作,我打算编写一个快速的C#应用​​程序,它将有一个循环,但我确信这不是最好的方法,并希望在这里学到一些东西,以避免将来这样做(因为我'我确定这种情况很常见).

sql t-sql sql-server sql-server-2008

3
推荐指数
2
解决办法
2万
查看次数

不确定如何从一个表中获取数据并将其移动到另一个表中

我有一张桌子:

create table practice_table
(
    traffic_date    datetime ,
    door_one        integer ,
    door_two    integer 
)
Run Code Online (Sandbox Code Playgroud)

有一些样本数据:

insert into practice_table(traffic_date, door_one, door_two) values ('12-Oct-2006' ,14500 ,11141)
insert into practice_table(traffic_date, door_one, door_two) values ('13-Oct-2006' ,6804 ,5263)
insert into practice_table(traffic_date, door_one, door_two) values ('14-Oct-2006' ,7550 ,6773)
insert into practice_table(traffic_date, door_one, door_two) values ('15-Oct-2006' ,6144 ,5211)
insert into practice_table(traffic_date, door_one, door_two) values ('16-Oct-2006' ,5680 ,3977)
insert into practice_table(traffic_date, door_one, door_two) values ('17-Oct-2006' ,5199 ,3918)
insert into practice_table(traffic_date, door_one, door_two) values ('18-Oct-2006' ,5298 ,3631)
Run Code Online (Sandbox Code Playgroud)

我正在尝试将其移动到具有列的另一个表(称为destination_table)中:

month(datetime)traffic_count(整数) …

sql t-sql sql-server-2008

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

在更新语句上使用输出子句时出现奇怪的错误?

首先,根据我的经验,很多人不熟悉输出。如果是这样,此链接非常方便:SQL Server 的隐藏功能

我有以下更新声明:

UPDATE  lease_deal.lease_budget
SET     change_type = NULL 
OUTPUT  inserted.*
WHERE   ISNULL(change_type, '') = ''
Run Code Online (Sandbox Code Playgroud)

虽然我认为这会为我返回更新的记录,但我收到以下错误:

消息 334,级别 16,状态 1,第 9 行 如果 DML 语句的目标表 'lease_deal.lease_budget' 包含没有 INTO 子句的 OUTPUT 子句,则该语句不能有任何已启用的触发器。

我知道我可以成功创建一个临时表并使用输出语句将更新的记录重定向到那里,但为什么我不能将它返回到 IDE?我确定(肯定)我以前能够做到这一点,但似乎无法在任何地方找到合适的例子来帮助我理解我做错了什么。当您正在更新的列上有触发器时,这根本不可能吗?

sql t-sql sql-server sql-server-2008 sql-update

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

自定义帖子类型中的Wordpress自定义字段

我购买的主题在帖子/产品编辑器中没有自定义字段.它在自己的admin php文件中使用自定义帖子类型.我已经设法通过从wordpress核心metabox.php文件中提取以下代码来添加自定义字段但是我不确定如何让它工作.它缺少自定义字段值应该去的区域.

<div id="postcustomstuff">
<div id="ajax-response"></div>
<?php
$metadata = has_meta($post->ID);
list_meta($metadata);
meta_form(); ?>
</div>
Run Code Online (Sandbox Code Playgroud)

php wordpress

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

为什么我不能使用.Any()?

马上就是我对LINQ to SQL(以及一般的C#)的新手,并且之前没有成功实现过.Any().我在Visual Studio 2010中使用.Net 4.0.

我已经为我的项目添加了一个新的LINQ to SQL数据集,我正在尝试执行以下操作:

var db = new HealthIndicatorsDataContext();

var d = DateTime.Today;

if(db.HealthIndicators.FirstOrDefault(h => h.LogDate == d).Any())
 // do something
Run Code Online (Sandbox Code Playgroud)

不幸的是我收到了Cannot Resolve Sysmbol 'Any'.Any()以红色突出显示.我已经读过我需要在我的项目中引用System.Core.dll,我添加了这个,但我仍然没有运气.我错过了什么?

c# linq linq-to-sql

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

试图将今天的日期与一个月前的日期进行比较

我有一个从数据库加载配置的对象.我存储上次使用日期时间字段(被调用GroupsLastRun)运行作业的时间,并且我存储了作业应该使用调用的字符串字段运行的频率Captureusersandgroups.Captureusersandgroups存储三种不同类型'DAILY','WEEKLY'和'MONTHLY'.

基本上,我只有在作业运行时才能继续循环.到目前为止,我已经达到了以下几点:

if (configEntity.GroupsLastrun > DateTime.Now.AddDays(-1) && configEntity.Captureusersandgroups == "DAILY") continue;
if (configEntity.GroupsLastrun > DateTime.Now.AddDays(-7) && configEntity.Captureusersandgroups == "WEEKLY") continue;
if (configEntity.GroupsLastrun > DateTime.Now.AddDays(-30) && configEntity.Captureusersandgroups == "MONTHLY") continue;
Run Code Online (Sandbox Code Playgroud)

我确信(确定)有一个更好的方法,但主要是一个SQL Server开发人员,我缺乏批判性思维/工具来接近这个.什么是更好的方法或我应该学习什么,所以我可以更好地考虑这个?

.net c# datetime date

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

有没有办法检查类中是否存在函数?

我正在传递一些发布数据以执行基于发布数据的函数,以确定这是否应该执行我尝试使用以下内容:

$SP = new StoredProcedure();

if(function_exists($SP->$_POST['function']))
{
    $SP->$_POST['function']();
}
else
{
    echo 'function does not exist.';
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这通过了以下错误:

注意:未定义属性:StoredProcedure::$getFormList in C:\DWASFiles\Sites\junglegym\VirtualDirectory0\site\wwwroot\wp-content\plugins\qcore\qcore_waitress.php 353 行函数不存在。

我确定这个函数确实存在,当我在没有 function_exists()

有没有办法检查一个函数在类中是否存在?

php function

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