sql-server - 对现有更新的 SQL Server

标签 sql-server database migration sqlanywhere

我们计划将应用程序从 Sybase SQL Anywhere 转换为 SQL Server。

在 SA 我们使用了很多“现有更新”,通过主键检查行是否存在。 如果为真,则更新(如果我正在执行更新子句,则以相同的方式)。 如果没有,它会插入。

SQL Server 是否支持这样的东西?

最佳答案

据我所知,一个命令不支持这一点。我发现最好的方法是关注 Jeremiah Clark's tip :尝试更新,然后检查受影响的记录数。如果它是零,那么我插入:

UPDATE Table1 SET (...) WHERE Column1='SomeValue'
IF @@ROWCOUNT=0
    INSERT INTO Table1 VALUES (...)

关于sql-server - 对现有更新的 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6940786/

相关文章:

mysql - 从 MS SQL 迁移到 MySQL : SQLOLEDB? 迁移套件登录错误?

laravel - 如何使用 laravel 迁移在 mysql 8 中为 json 列设置索引

sql - 如果我要保留密码重置日志,我需要哪些表

xml - 如何处理 Oracle XML DB native Web 服务中的 NULL 存储过程返回参数?

sql-server - 在批处理文件中使用 SQLCMD,如何解析响应并检查错误?

c# - T-Sql SET 参数是否会被 .NET 连接池重置?

database - 保存图像 : files or blobs?

svn - 重构 Subversion 存储库而不丢失任何历史记录

sql - 添加具有初始(但不是默认)值的新列的最佳方法?

PHP 超时运行 MSSQL SP