我有一个更新一条记录的查询,只有一条记录.是否有方法可以在同一查询中更新Id,例如插入时选择ScopeIdentity.
UPDATE Task
SET MyTime = GetDate(), MyUserId = @userid
FROM (select top 1 table where SomeStuff)
Select Lastrow that just got updated.
Run Code Online (Sandbox Code Playgroud) 我正在我的silverlight应用程序上实现CRUD,但是我不想以传统方式实现Delete功能,而是我想将数据设置为隐藏在数据库中.
有谁知道使用SQL Server数据库执行此操作的方法?
非常感谢.
我必须创建一个查询几个不同列的查询,如果其中任何一个有1,我想返回true.
理想的输出将是:
ID:55
名称:John Doe
IsDealerType1:True
IsDealerType2:True
IsDealerType3:False
IsDealerType4:False
IsDealerType5:True
问题是,我有大约20个名为1a,1b,1c,1d等的列,而不是那5个经销商列.如果任何"1"列为真,那么IsDealerType1应该为真.
我试图避免在VB.NET代码中写一些内容来检查每一列,只是因为在SQL中应该很容易避免这种丑陋 - 如果我知道怎么做 - 但我不知道如何构造查询.我一直在努力......
SELECT id,
name,
(1a or 1b or 1c or 1d) as IsDealerType1,
(2a or 2b or 2c or 2d) as IsDealerType2
where id = 55
Run Code Online (Sandbox Code Playgroud)
......但显然,我做得不对.
任何帮助表示赞赏.谢谢!
我想在Sql Server 2005数据库中存储英语,法语,德语,意大利语和西班牙语,以便与.NET应用程序一起使用.我可以逃避不使用Unicode吗?这些语言会有问题吗?
我正在编写一个程序,每次调用它需要一个随机数.从我们的.net Web服务调用此过程.
我尝试使用rand()实现这一点.但是,当我在几毫秒内对存储过程进行多次调用时,我发生了很多冲突,因为生成了相同的随机数.如果在后续呼叫之间有大约20或30毫秒的空间,它似乎工作正常.
看来rand()重新被SqlServer重新调用每个存储过程调用.从我的理解这是一个问题,因为一个应该播种一个随机数生成器,如果一个重播每次调用rand,那个没有得到一个好的伪随机数序列.此外,看起来对在1或2毫秒内的相同sp的调用获得相同的值.
这是存储过程中的语句本身.
DECLARE @randomNumber char(9)
SET @randomNumber = RIGHT('00000' + CAST(CAST(rand()*100000 AS INT) AS VARCHAR(5)),5)
+ RIGHT('00000' + CAST(CAST(rand()*10000 AS INT) AS VARCHAR(4)),4)
Run Code Online (Sandbox Code Playgroud)
有没有人有解决这个问题的建议?
我是否必须编写自己的随机数生成器,该生成器一次播种并将其状态保存在跨调用的表中?SQL Server种子rand()如何?它是真正随机的还是如果你在一个连接上在一个或两个毫秒内调用一个sp,它会在同一个种子上播种导致冲突吗?
当你添加传递一个新job_type的sys.sp_cdc_add_job @job_type,
(这是类型nvarchar(20))
您可以将参数传递为
N'清理'使用前一种语法N'将参数传递给存储过程是否有任何理由或好处?
在将一堆字段从VARCHAR(bignumber)切换到TEXT之前,我需要考虑什么?
除了性能之外,在远期的某个时候,TEXT将被弃用,除了看起来我需要删除并重新创建表来改变列的数据类型这一事实?
这是针对SQL 2000--我不能做VARCHAR(max)和VARCHAR(8000)不够大.
我是一个sql新手,我使用的是mssql2005
我喜欢在输入参数上加入Action depnding.
CREATE PROCEDURE SelectPeriodicLargeCategoryData
@CATEGORY_LEVEL CHAR(1),
@CATEGORY_CODE VARCHAR(9)
AS
...
JOIN CATEGORY_AD_SYS CAS WITH(NOLOCK)
ON CA.CATEGORY_ID = [[[[[ HERE ]]]]
Run Code Online (Sandbox Code Playgroud)
在sql之上.
如果@CATEGORY_LEVEL = 'L'那时我喜欢加入 CAS.LCATEGORY
否则,如果@CATEGORY_LEVEL = 'M'我愿意加入 CAS.MCATEGORY
否则,如果@CATEGORY_LEVEL = 'S'我愿意加入 CAS.SCATEGORY
...
我怎样才能做到这一点?
我有一个程序,用户需要使用用户名和密码登录.我正在检查sys.sysloginsmaster db中的表名.但是对于密码,我收到一个字符串,其中包含(可能)编码字符(1 ????????????).现在我该怎么做才能解码该字符串并获取密码以便与输入该字符串进行比较?
我想从列的值为NULL的表中选择列.
例如:
SELECT * FROM table1 WHERE column1 IS NULL;
Run Code Online (Sandbox Code Playgroud)
上面的查询返回column1没有任何值的行.
但我想返回多个列(其中column1,column2,....)
我想在MYSQL中使用它
sql-server ×8
sql ×6
t-sql ×5
.net ×1
hidden-field ×1
mysql ×1
nvarchar ×1
random ×1
security ×1
unicode ×1