小编Dee*_*ent的帖子

如何使用Oracle全局临时表?

我正在尝试使用 Oracle 全局临时表,而无需在数据库中物理创建表。以下代码不起作用。有人可以解释一下使用全局临时表的正确方法吗?

declare
  global temporary table my_temp_table(column1 number) on commit preserve rows;    
begin
  insert into my_temp_table (column1) values (1);
  select * from my_temp_table;   
end;
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle10g oracle11g plsqldeveloper

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

如何在LinqPad中自动格式化c#代码?

如何在LinqPad中自动格式化c#代码?

我曾尝试过:Ctrl + E,Ctrl + D格式化整个文档.按Ctrl + E,Ctrl + F格式化选择.

他们都没有工作.

void Main()
{
    var ids = Enumerable.Range(1, 10);
    var ran = new System.Random(10);
    var q = from n in ids           orderby ran.Next() select n;
            q.Dump();
}
Run Code Online (Sandbox Code Playgroud)

c# linqpad

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

Oracle电子邮件发送日期有时不正确

我有一个生产问题涉及Oracle 11g电子邮件发送日期.代码如下.

  procedure email(p_recip   in apex_application_global.vc_arr2,
                  p_subject in varchar2,
                  p_message in varchar2) is

    c                  utl_smtp.connection;
    msg                varchar2(4000);
    username           varchar2(100) := 'XXX';
    password           varchar2(100) := '123';
    l_encoded_username varchar2(200);
    l_encoded_password varchar2(200);
    l_recips           varchar2(2000);

    procedure send_header(name in varchar2, header in varchar2) as
    begin
      utl_smtp.write_data(c, name || ': ' || header || utl_tcp.crlf);
    end;
  begin
    --Open SMTP connection
    l_encoded_username := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(username)));
    l_encoded_password := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(password)));
    c                  := utl_smtp.open_connection('AAA.BBB.local', '25');
    utl_smtp.ehlo(c, 'AAA.BBB.local'); --DO NOT USE HELO
    utl_smtp.command(c, 'AUTH', 'LOGIN');
    utl_smtp.command(c, l_encoded_username);
    utl_smtp.command(c, l_encoded_password);
    utl_smtp.mail(c, 'XXX@YYY.on.ca');

    if …
Run Code Online (Sandbox Code Playgroud)

email oracle plsql oracle10g oracle11g

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

如何在LinqPad中填充图表(使用System.Web.Helpers.Chart)?

我有下面的代码,在LinqPad 4.40.03 + Sql Server 2008 R2 + NorthWind中运行它.

LinqPad返回异常:"ArgumentNullException:Value不能为null.参数名称:httpContext".

请给我最终固定代码,我希望它在linqpad输出屏幕中填充图表(使用System.Web.Helpers.Chart).

void Main()
{
    var q = from p in Products
            let s = p.OrderDetails.Sum(o => o.Quantity) * p.UnitPrice
            orderby s
            select new { ProductName = p.ProductName, Sales = s};

    var basicChart = new System.Web.Helpers.Chart(width: 600, height: 400)
        .AddTitle("Product Sales")
        .DataBindTable(dataSource: q, xField: "ProductName")
        .Write();

    basicChart.Dump();
}
Run Code Online (Sandbox Code Playgroud)

linqpad

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

如何将Oracle PL/SQL包中的电子邮件发送到多个接收器?

如何将Oracle PL/SQL包中的电子邮件发送到多个接收器?我在oracle包中有pl/sql程序,它只适用于一个接收器.我需要改进它的功能,让它可以同时向多个接收器发送电子邮件,如"To:David Festool; Peter Makita; John Dewalt".任何身体都可以帮助我,非常感谢!请提供修改后的代码.


procedure email(p_recip   in varchar2,
                p_subject in varchar2,
                p_message in varchar2) is

  c   utl_smtp.connection;
  msg varchar2(4000);

  procedure send_header(name in varchar2, header in varchar2) as
  begin
    utl_smtp.write_data(c, name || ': ' || header || utl_tcp.crlf);
  end;
begin
  --Open SMTP connection
  c := utl_smtp.open_connection('ExchangeServerName');

  -- Write SMTP header
  utl_smtp.helo(c, 'ExchangeServerName');
  utl_smtp.mail(c, 'Email@MyCompany.on.ca');
  utl_smtp.rcpt(c, p_recip);
  utl_smtp.open_data(c);
  send_header('From', '"Title" <Email@MyCompany.on.ca');
  send_header('To', p_recip);
  send_header('Subject', p_subject);
  send_header('Mime-Version', '1.0');
  send_header('Content-Type', 'multipart/mixed; boundary="DMW.Boundary.605592468"');

  -- Write MIME boundary line for the message body …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle11g plsqldeveloper

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

这两个linq查询有什么区别?

下面有两个linq查询,它们返回完整的差异结果,第一个查询返回4个记录,第二个返回72个记录.我认为他们是一样的.谁能解释为什么他们会返回差异记录集.谢谢你的帮助.

void Main()
{
    var q1 = from c in Customers
            where !c.Orders.Any(o => o.OrderDetails.Sum(od => od.UnitPrice * od.Quantity) < 1000)
            select new {c.CustomerID, c.ContactName};

    q1.Dump();

    var q2 = from c in Customers
             where c.Orders.Any(o => o.OrderDetails.Sum(od => od.Quantity * od.UnitPrice) >= 1000)
             select new {c.CustomerID, c.ContactName};

    q2.Dump();
}
Run Code Online (Sandbox Code Playgroud)

c# linq linqpad linq-to-sql

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

如何解决使用c#在Windows服务上捕获屏幕截图的问题?

首先,我需要感谢Mr."eddie_cat",以便就我的问题提供有效的答复.他拥有"ScreenCapture"方法的功劳.虽然这种方法不能解决我的问题(在Windows服务端它不起作用),但我相信代码可以在普通的Windows窗体中用于屏幕捕获.

以为我无法找到解决问题的解决方案,我从"Davide Piras"先生那里找到了一个很好的建议.Windows服务无法在Windows 7中获取屏幕截图

他的帖子说:

"Windows服务的设计也是在没有用户连接的情况下运行,它的工作方式就像服务器进程总是向上和聆听,或者正在做某事或者空闲.

我认为你需要的是一个客户端应用程序,它在每个登录用户的会话中运行,并最终完成工作,然后,如果需要,与服务进行通信以完成一些工作.

我在这里说,不是让Windows服务在0以外的其他会话中运行,而是可以创建一个小的可执行文件(可能根本没有UI),从每个用户登录的所有用户的启动文件夹启动.这样的应用程序然后在正确的会话内运行并且可以访问它,它可以获取屏幕截图,然后将其存储在自己的某个地方或在Windows服务中调用一些端点(始终在会话0中运行)并使服务详细说明屏幕截图取自它的客户端应用程序.

这就是我这样做的方式,而不是尝试一些"神奇"来告诉Vista和7在用户会话中启动服务,最终在系统启动时还没有登录."

.net c# screen-capture winforms

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

如何在Oracle中使用insert语句插入两个表?

我有两个插入语句,如下面的A和B.我需要将这两个insert语句合并为一个,如语句C.我不喜欢重复的代码,例如语句A和B中的select部分.语句的正确格式是什么C?请忽略动态查询语句,因为真正的语句选择部分非常复杂.

声明A:

insert into a
  (firstname, lastname)
  select t2.firstname, t3.lastname
    from t1, t2, t3
   where t1.t1_id = t2.t1_id
     and t2.t2_id = t3.t2_id;
Run Code Online (Sandbox Code Playgroud)

声明B:

insert into b
  (personid)
  select t1.personid
    from t1, t2, t3
   where t1.t1_id = t2.t1_id
     and t2.t2_id = t3.t2_id;
Run Code Online (Sandbox Code Playgroud)

陈述C:

insert into a
  (firstname, lastname)
insert into b
  (personid)
  select t2.firstname, t3.lastname, t1.personid
    from t1, t2, t3
   where t1.t1_id = t2.t1_id
     and t2.t2_id = t3.t2_id;
Run Code Online (Sandbox Code Playgroud)

现实世界的原始陈述如下:

procedure allo_recipient(p_all_id       number,
                         p_allo_type    varchar2,
                         p_step_no      number,
                         p_region       varchar2,
                         p_don_reg_code varchar2,
                         p_med_urgent …
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle10g oracle11g sql-insert

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

如何解决问题"无法将表达式转换为SQL并且无法将其视为本地表达式".

我的代码如下:

void Main()
{
    var q = from a in Applicants
             where(a.Claims.Any())
             select a.Claims.Sum(c => c.TotalClaimAmount());


    q.Dump();
}

public static class MyExt
{
    public static decimal TotalClaimAmount(this Claim c)
    {
        var t = c.Accommodations.Sum(a => a.AmountClaimed) +
                c.MealAllowances.Sum(ma => ma.AmountClaimed) +
                c.Meals.Sum(m => m.AmountClaimed) +
                c.Mileages.Sum(mi => mi.AmountClaimed) +
                c.Others.Sum(o => o.AmountClaimed) +
                c.ParkingTransits.Sum(pt => pt.AmountClaimed) +
                c.Travels.Sum(tr => tr.AmountClaimed);

        return (decimal)t;
    }
}
Run Code Online (Sandbox Code Playgroud)

当我在LinqPad中运行时得到以下问题:

InvalidOperationException:无法将表达式'a.Claims.Sum(c => c.TotalClaimAmount())'转换为SQL,并且无法将其视为本地表达式.

请帮帮我.非常感谢

c# linq linq-to-entities linqpad linq-to-sql

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

为什么缺少时间?

我有下面的代码

declare
  v_rst varchar2(200);

  cursor c_cur is
    select sysdate from dual;
begin

  open c_cur;
  fetch c_cur
    into v_rst;
  close c_cur;

  dbms_output.put_line(v_rst);

end;
Run Code Online (Sandbox Code Playgroud)

它的输出结果是"23-DEC-14"

当我在查询下面运行时,结果是"12/23/2014 11:21:06 AM"

select sysdate from dual;
Run Code Online (Sandbox Code Playgroud)

当我运行第一个代码时,我不知道为什么TIME部分消失了.

任何人都可以解释会非常感激.

sql oracle plsql oracle10g oracle11g

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

如何让我的行动起作用?

我有以下代码:我得到的错误就像"运营商".不能应用于'void'类型的操作数.是否有人可以解释原因并修改代码?

void Main()
{
    Claims.AsEnumerable().Select((claim, no) => Populate(claim, no)).ToList().ForEach(Modify).Dump();;
}

public Func<Claim, int, string> Populate = (claim, no) =>
{
    return "#" + no.ToString() + " " + claim.Applicant.FirstName + " " + claim.Applicant.LastName;
};


public Action<string> Modify = p =>
{
    p = p + "!!!";
};
Run Code Online (Sandbox Code Playgroud)

c#

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