标签: sql-server-2005

Sql Query从名称字段中找出最大值

我有5个带有字段名称的表.&哪个名称出现在每个表的最大时间,然后我需要找出所有答案中哪个输出最大

sql sql-server sql-server-2005

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

在具有不同类型的列上使用日期函数

是否可以在varchar列上使用类似DATEADD()或DATEPART()的函数,该函数可能包含也可能不包含类似日期时间的内容?

目前我正在尝试使用WHERE子句来仅选择此列中具有日期时间值的行并获得通常的算术溢出错误.

我可以执行某种操作来提取日期时间值并将它们放在临时表中,但我对此很好奇.

SELECT DATEPART(wk, DateCreated) FROM tblOrders WHERE colType = 'datetime'
Run Code Online (Sandbox Code Playgroud)

不要担心桌子设计,它没有那么糟糕.

sql t-sql sql-server sql-server-2005

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

ADO.NET连接池中没有可用的连接

我试图弄清楚与ADO.NET连接池相关的生产环境中异常数量越来越多的原因,我可以在日志中看到很多例外情况:

超时已过期.从池中获取连接之前经过的超时时间.这可能是因为所有池连接都在使用中并且达到了最大池大小.

我尝试的第一件事是确保所有连接都已关闭并处理掉.为此,我们将所有数据库连接更改为:

try
{
     oConnection.Open();
     //do something
}    
catch()
{

}
finally
{
     if (oConnection.State != ConnectionState.Closed)
     {
         oConnection.Close();
         oConnection.Dispose();
     }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用以下连接字符串:

server=databaseserver;Database=databasename;User Id=username;Password=password;Max Pool Size=600;Min Pool Size=50;Connection Timeout=180;Pooling=true
Run Code Online (Sandbox Code Playgroud)

在Performance Manager,用于SqlServer的.NET数据提供程序中,我可以看到"NumberOfPooledConnections"和"NumberOfActivePooledConnections"始终低于连接字符串的最大池大小,始终在60到90个连接之间.

有谁知道怎么可能?我得到的例外是池上没有连接,但我可以看到池没有满.

我的环境:

  • Windows Server 2003 Enterprise SP2(包含所有最新补丁)
  • IIS 6.0(Web园中有4个工作进程,App Pool每60分钟回收一次)
  • SQL Server 2005

愿有人帮帮我吗?

c# sql-server ado.net sql-server-2005

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

重新编号一组行

我有一个数据表,如下所示:

# the columns #
url
title
group
id_within_group

http://www.google.com
google
search engine
1

http://www.yahoo.com
yahoo
search engine
2

http://www.bing.com
bing
search engine
3

http://www.facebook.com
facebook
social media
1

http://www.twitter.com
twitter
social media
2
Run Code Online (Sandbox Code Playgroud)

如果我做

select * from table1 where group = "search engine"
Run Code Online (Sandbox Code Playgroud)

我会得到

http://www.google.com
google
search engine
1

http://www.yahoo.com
yahoo
search engine
2

http://www.bing.com
bing
search engine
3
Run Code Online (Sandbox Code Playgroud)

我希望能够删除任何这些行,但不知何故让它重新编号id_within_group.

因此,如果我从上面的3中删除第二个,它应该自动重新编号然后离开我

http://www.google.com
google
search engine
1

http://www.bing.com
bing
search engine
2
Run Code Online (Sandbox Code Playgroud)

这可能吗?

sql t-sql sql-server sql-server-2005

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

在sql server中的两级组

我有一个查询,检索从工厂收到的零件货件列表.收据列存储为当天的总收据,但当天有多个导入.这导致我们当前的查询多次报告一些货件.(我无法更改数据在数据库中的存储方式,而不会导致其他报告出现重大问题)

当前查询:

    select ppl.plant_id, ppl.part_id, sum(pol.receipt) reciept
        from purchase_order_levels pol
    join plant_part_levels ppl
        on ppl.id = pol.plant_part_level_id
    join imports im
        on im.id = ppl.import_id
    where im.active = 1 and im.level_date <= '12-17-2010 10:26'
    group by ppl.plant_id, ppl.part_id
Run Code Online (Sandbox Code Playgroud)

我尝试从一天结束时仅检索收据级别

    select ppl.plant_id, ppl.part_id, DATEADD(dd, DATEDIFF(dd,0,ppl.level_date), 0) as level_date, max(pol.receipt) reciept
        from mc_cup_purchase_order_levels pol
    join mc_cup_plant_part_levels ppl
        on ppl.id = pol.plant_part_level_id
    join mc_cup_imports im
        on im.id = ppl.import_id
    where im.active = 1 and im.level_date <= '12-17-2010 10:26'
    group by ppl.plant_id, ppl.part_id, DATEADD(dd, DATEDIFF(dd,0,ppl.level_date), …
Run Code Online (Sandbox Code Playgroud)

sql-server group-by sql-server-2005

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

从字符串转换datetime时转换失败

我尝试从SQL Server 2005读取数据并将其填入TableAdapter(也尝试用户DataReader),但我不断收到此异常.问题是我在某些系统上遇到了这个错误,那就是我在一个系统上运行我的应用程序,但在另一个系统上我得到了这个异常.

守则是:

public DataSetRef GetReportPumpControl(PumpInfo pump, DateTime start, DateTime end)
    {
        if (!OpenConnection())
            return null;

        m_Command.CommandText = "SELECT ref_dig_pumpcontrol, ref_energy, ref_datetime FROM [molisoftSchema].[Refresh] WHERE ref_pump_id = " + pump.ID + " AND ref_datetime BETWEEN '" + start + "' AND '" + end + "' ORDER BY ref_datetime ASC";

        SqlDataAdapter adapter = new SqlDataAdapter(m_Command);
        DataSetRef ds = new DataSetRef();
        adapter.Fill(ds, "RefreshPC");

        return ds;

        /*m_Reader = m_Command.ExecuteReader();

        LinkedList<PumpControlInfo> returnValue = new LinkedList<PumpControlInfo>();
        while (m_Reader.Read())
        {
            PumpControlInfo tempControl = new …
Run Code Online (Sandbox Code Playgroud)

c# sql-server-2005

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

如何防止数据库用户通过触发器从所有表中删除数据

嗨专家如何阻止数据库用户使用触发器删除表中的任何数据?我想只需要管理员从表中删除数据

谢谢

sql sql-server triggers sql-server-2005 sql-server-2008

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

如何使用SQL CLR方法调用网页?

我有一个asp.net mvc应用程序需要一段时间才能在我的生产服务器上加载.我想编写一个脚本来每隔10分钟调用一次页面,以避免页面在服务器上被废弃,这会导致服务器重新加载它们.

我正在考虑使用SQL Server存储过程每10分钟调用一次页面以保持页面处于活动状态.

我已经读过我可以使用CLR做到这一点,但我不知道如何做.有没有人有一个如何使用CLR在SQL存储过程中调用网页的示例?

sql asp.net sql-server-2005 sqlclr

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

确定选择记录的OR语句?

我在criteria表的记录中保存了标准,我用它来创建一个动态查询字符串,它将查询一个source表,并将该查询的结果插入到destination表中.我的目标是,如果条件与表中的记录匹配,也将criteria表中的id插入表中.如果匹配了多个条件记录,我只需插入第一个条件.destinationsource

WHERE子句是通过对多个部分进行OR运算来构建的,并且在每个部分内将标准与AND组合在一起.类似于以下内容:

insert into destinationTable(col1, col2, col3)
select col1, col2, col3
from sourceTable
where
--' begin generated code'
   (a = 525 and b = 324 and c = 4523) -- 'from criteria record 1'
or (d = 'asdf' and e = 3.43) -- 'from criteria record 2'
or (f = 234523 and g = 9823742) -- 'from criteria record 3'
etc...
--' end generated code'
Run Code Online (Sandbox Code Playgroud)

我需要找到一种方法来确定哪个是匹配条件的第一个OR部分,并在目标表中插入相应的条件id如何做到这一点?

sql sql-server sql-server-2005 sql-server-2008

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

查找表中的行,其中field1相同且字段2不同

我有一个表的行,存储UserID,EnrollmentID和其他数据.我想获取所有记录,其中出现多个UserID和EnrollmentID.

样本数据:

serial_no  userID  EnrollmentID
-------------------------------
1234       100     44
1235       100     55
1236       200     33
1237       300     66
1238       400     88
1239       400     77
Run Code Online (Sandbox Code Playgroud)

我想要返回以下行:

1234       100     44
1235       100     55
1238       400     88
1239       400     77
Run Code Online (Sandbox Code Playgroud)

编辑:为了澄清,我希望用户ID存在的所有行具有不同的注册ID

sql t-sql sql-server sql-server-2005

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