标签: sql-server

如何在SQL Developer中执行SQL Server存储过程?

我已经获得了一个只有执行存储过程权限的SQL Server数据库的用户帐户.我将JTDS SQL Server JDBC jar文件添加到SQL Developer并将其添加为第三方JDBC驱动程序.我可以成功登录到SQL Server数据库.我得到了运行该过程的语法:

EXEC proc_name 'paramValue1' 'paramValue2'
Run Code Online (Sandbox Code Playgroud)

当我将其作为语句或脚本运行时,我收到此错误:

Error starting at line 1 in command:
EXEC proc_name 'paramValue1' 'paramValue2'
Error report:
Incorrect syntax near the keyword 'BEGIN'.
Run Code Online (Sandbox Code Playgroud)

我尝试将语句包装BEGIN/END,但得到相同的错误.是否可以从SQL Developer调用该过程?如果是这样,我需要使用什么语法?

sql-server stored-procedures oracle-sqldeveloper

139
推荐指数
4
解决办法
65万
查看次数

如何修复错误'命名管道提供程序,错误40 - 无法打开与'SQL Server'的连接?

我似乎无法从站点连接到我的数据库.我收到此错误:

命名管道提供程序,错误:40 - 无法打开与SQL Server的连接

我尝试使用本地IP地址连接以及公共IP地址.我试过了:

  1. 是的,该站点可以与服务器通信
  2. 命名管道/ TCP已启用.
  3. 允许远程连接.
  4. Windows防火墙已关闭
  5. 在Windows防火墙中为端口1433创建了一个例外.
  6. 在SQL Server配置管理器中启用了所有内容.

我还能在这做什么?

sql-server sql-server-2005 database-connectivity

139
推荐指数
10
解决办法
57万
查看次数

选择SQL Server数据库大小

我如何查询我的SQL服务器只获取数据库的大小?

我用过这个:

use "MY_DB"
exec sp_spaceused
Run Code Online (Sandbox Code Playgroud)

我懂了 :

database_name   database_size   unallocated space
My_DB           17899.13 MB 5309.39 MB
Run Code Online (Sandbox Code Playgroud)

它返回了我不需要的几个列,也许有一个从这个存储过程中选择database_size列的技巧?

我也试过这段代码:

SELECT DB_NAME(database_id) AS DatabaseName,
       Name AS Logical_Name,
       Physical_Name,
       (size * 8) / 1024 SizeMB
FROM sys.master_files
WHERE DB_NAME(database_id) = 'MY_DB'
Run Code Online (Sandbox Code Playgroud)

它给了我这个结果:

DatabaseName    Logical_Name    Physical_Name                    SizeMB
MY_DB           MY_DB           D:\MSSQL\Data\MY_DB.mdf          10613
MY_DB           MY_DB_log       D:\MSSQL\Data\MY_DB.ldf          7286
Run Code Online (Sandbox Code Playgroud)

所以我写了这个:

SELECT SUM(SizeMB)
FROM (
    SELECT DB_NAME(database_id) AS DatabaseName,
           Name AS Logical_Name,
           Physical_Name,
           (size * 8) / 1024 SizeMB
    FROM sys.master_files
    WHERE DB_NAME(database_id) = 'MY_DB'
) AS TEMP …
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008 sql-server-2008-r2

139
推荐指数
5
解决办法
47万
查看次数

Select Unique和Select Distinct之间的区别

我认为这些是同义的,但我在Microsoft SQL中写了以下内容:

Select Unique col from 
     (select col from table1 union select col from table2) alias
Run Code Online (Sandbox Code Playgroud)

它失败了.把它改成

Select Distinct col from 
     (select col from table1 union select col from table2) alias
Run Code Online (Sandbox Code Playgroud)

固定它.谁能解释一下?

sql sql-server

138
推荐指数
4
解决办法
32万
查看次数

如何计算SQL varchar中某个子字符串的出现次数?

我有一个列格式为a,b,c,d的列.有没有办法在T-SQL中计算该值中逗号的数量?

t-sql sql-server

137
推荐指数
5
解决办法
19万
查看次数

为什么NULL = NULL在SQL Server中评估为false

在SQL Server中,如果 nullParam=NULL在where子句中,它总是计算为false.这是违反直觉的,并且给我带来了许多错误.我确实理解IS NULLIS NOT NULL关键字是正确的方法.但是为什么SQL服务器会以这种方式运行?

sql sql-server null

137
推荐指数
10
解决办法
11万
查看次数

保持简单以及如何在查询中执行多个CTE

我有这个简单的T-SQL查询,它从表中发出一堆列,并且还连接来自其他相关表的信息.

我的数据模型很简单.我有一个预定的活动,与参与者.我需要知道有多少参与者参加每个活动.

我的解决方案是添加一个CTE,它对预定的事件进行分组并计算参与者的数量.

这将允许我按预定活动加入该信息.保持查询简单.

我喜欢让我的查询简单,但是,如果我将来需要在简单查询期间访问其他临时结果,我该怎么办?

我真的很喜欢它,如果我可以拥有多个CTE,但我不能,对吧?我有什么选择?

我已经在应用程序数据层排除了视图和操作.我更喜欢孤立我的SQL查询.

t-sql sql-server common-table-expression

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

SQL SERVER:获取两个日期之间的总天数

我想要获得两天之间的总天数:

1/1/2011
3/1/2011

RETURN
62
Run Code Online (Sandbox Code Playgroud)

是否可以在SQL Server中执行?

sql sql-server date sql-server-2008

137
推荐指数
6
解决办法
34万
查看次数

如何选择列值不明显的每一行

我需要运行一个select语句,返回列的值不相同的所有行(例如EmailAddress).

例如,如果表格如下所示:

CustomerName     EmailAddress
Aaron            aaron@gmail.com
Christy          aaron@gmail.com
Jason            jason@gmail.com
Eric             eric@gmail.com
John             aaron@gmail.com
Run Code Online (Sandbox Code Playgroud)

我需要查询返回:

Aaron            aaron@gmail.com
Christy          aaron@gmail.com
John             aaron@gmail.com
Run Code Online (Sandbox Code Playgroud)

我阅读了很多帖子并尝试了不同的查询无济于事.我认为应该工作的查询如下.有人可以提出替代方案或告诉我查询可能有什么问题吗?

select EmailAddress, CustomerName from Customers
group by EmailAddress, CustomerName
having COUNT(distinct(EmailAddress)) > 1
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

137
推荐指数
5
解决办法
21万
查看次数

Select语句中的案例

我有一个SQL语句,有一个CASESELECT,我只是无法正确.你们能告诉我一个例子CASE,说明案件的条件是什么,结果来自案件.例如:

     Select xxx, yyy
     case : desc case when bbb then 'blackberry';
     when sss then 'samsung';
     end 
     from (select ???? .....
Run Code Online (Sandbox Code Playgroud)

结果显示

 name                         age       handphone
xxx1                         yyy1      blackberry
xxx2                         yyy2      blackberry
Run Code Online (Sandbox Code Playgroud)

sql sql-server case

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