标签: sql-server

如何将表值参数从.net代码传递给存储过程

我有一个MS SQL Server 2005数据库.在一些过程中,我将表参数作为nvarchar(以逗号分隔)传递给存储过程,并在内部划分为单个值.我将它添加到SQL命令参数列表中,如下所示:

cmd.Parameters.Add("@Logins", SqlDbType.NVarchar).Value = "jim18,jenny1975,cosmo";
Run Code Online (Sandbox Code Playgroud)

我必须将数据库迁移到SQL Server 2008.我知道有表值参数,我知道如何在存储过程中使用它们.但我不知道如何将一个传递给SQL命令中的参数列表.有谁知道Parameters.Add程序的正确语法?或者是否有另一种传递此参数的方法?

c# sql-server stored-procedures sqlcommand table-valued-parameters

162
推荐指数
4
解决办法
26万
查看次数

如何在不使用MS SQL Server Management Studio的情况下更改SQL Server中的默认数据库?

我从SQL Server中删除了一个数据库,但事实证明我的登录设置为使用已删除的数据库作为其默认值.我可以使用连接对话框中的"选项"按钮连接到SQL Server Management Studio,并选择"master"作为要连接的数据库.但是,每当我尝试在对象资源管理器中执行任何操作时,它都会尝试使用我的默认数据库进行连接并失败.

有没有人知道如何在不使用object explorer的情况下设置我的默认数据库?

sql-server ssms sql-server-2005 default-database

161
推荐指数
8
解决办法
23万
查看次数

如何从SQL Server中的字符串中删除所有非字母字符?

你怎么能删除字符串中不是字母的所有字符?

那么非字母数字呢?

这是必须是自定义功能还是还有更通用的解决方案?

sql-server parsing alphanumeric user-defined-functions alphabetic

161
推荐指数
7
解决办法
35万
查看次数

SQL WHERE .. IN子句多列

我需要在SQL Server中实现以下查询:

select *
from table1
WHERE  (CM_PLAN_ID,Individual_ID)
IN
(
 Select CM_PLAN_ID, Individual_ID
 From CRM_VCM_CURRENT_LEAD_STATUS
 Where Lead_Key = :_Lead_Key
)
Run Code Online (Sandbox Code Playgroud)

但WHERE..IN子句只允许1列.如何将2个或更多列与另一个内部SELECT进行比较?

sql-server

161
推荐指数
5
解决办法
45万
查看次数

SQL Server的LIMIT和OFFSET的等价物?

在PostgreSQL中,有一些LimitOffset关键字可以很容易地对结果集进行分页.

Sql Server的等效语法是什么?

sql sql-server limit offset

161
推荐指数
6
解决办法
22万
查看次数

如何使用Dapper执行插入并返回插入的标识?

如何对数据库执行插入并使用Dapper返回插入的标识?

我尝试过这样的事情:

string sql = "DECLARE @ID int; " +
             "INSERT INTO [MyTable] ([Stuff]) VALUES (@Stuff); " +
             "SELECT @ID = SCOPE_IDENTITY()";

var id = connection.Query<int>(sql, new { Stuff = mystuff}).First();
Run Code Online (Sandbox Code Playgroud)

但它没有用.

@Marc Gravell谢谢你的回复.我已经尝试过你的解决方案但是,下面仍有相同的异常跟踪

System.InvalidCastException: Specified cast is not valid

at Dapper.SqlMapper.<QueryInternal>d__a`1.MoveNext() in (snip)\Dapper\SqlMapper.cs:line 610
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType) in (snip)\Dapper\SqlMapper.cs:line 538
at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param) in (snip)\Dapper\SqlMapper.cs:line 456
Run Code Online (Sandbox Code Playgroud)

c# sql-server dapper

161
推荐指数
4
解决办法
9万
查看次数

如何以编程方式更改标识列值?

我有一个Test带有列的表的MS SQL 2005数据库ID.ID是一个标识列.

我在这个表中有行,并且所有行都有相应的ID自动增量值.

现在我想更改此表中的每个ID,如下所示:

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到一个错误:

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON
Run Code Online (Sandbox Code Playgroud)

我试过这个:

    ALTER TABLE Test NOCHECK CONSTRAINT ALL 
    set identity_insert ID ON
Run Code Online (Sandbox Code Playgroud)

但这并没有解决问题.

我需要将标识设置为此列,但我还需要不时更改值.所以我的问题是如何完成这项任务.

t-sql sql-server identity sql-server-2005 sql-server-2005-express

160
推荐指数
6
解决办法
31万
查看次数

如何使用SQL Server Management Studio创建复合键?

如何使用SQL Server Management Studio创建复合键?

我想要两个INT列来形成表的标识(唯一)

sql t-sql sql-server ssms key

160
推荐指数
7
解决办法
16万
查看次数

SQL Server索引命名约定

是否有一些标准的方法来为SQL Server命名索引?似乎主键索引名为PK_,非聚簇索引通常以IX_开头.除了唯一索引之外,是否还有任何命名约定?

sql-server indexing naming-conventions

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

CREATE TABLE如果不是SQL Server中的等效项

可能重复:
SQL Server:检查表是否存在

CREATE TABLE IF NOT EXISTS适用于mysql但SQL Server 2008 R2失败.什么是等效语法?

sql sql-server sql-server-2008-r2

159
推荐指数
1
解决办法
38万
查看次数