Tag: sql

如何在sql server中重新抛出同样的exception

我想重新抛出在我的try块中发生的sql服务器中的相同的exception。 我能够抛出相同的消息,但我想抛出同样的错误。 BEGIN TRANSACTION BEGIN TRY INSERT INTO Tags.tblDomain (DomainName, SubDomainId, DomainCode, Description) VALUES(@DomainName, @SubDomainId, @DomainCode, @Description) COMMIT TRANSACTION END TRY BEGIN CATCH declare @severity int; declare @state int; select @severity=error_severity(), @state=error_state(); RAISERROR(@@Error,@ErrorSeverity,@state); ROLLBACK TRANSACTION END CATCH RAISERROR(@@Error, @ErrorSeverity, @state); 这行会显示错误,但我想要的function。 这引起错误号码50000错误,但我想erron号码被抛出,我通过@@error , 我想在前端捕获这个错误 即 catch (SqlException ex) { if ex.number==2627 MessageBox.show("Duplicate value cannot be […]

TSQL – 如何在BEGIN .. END块中使用GO?

我正在生成一个脚本,用于自动将更改从多个开发数据库迁移到分段/生产。 基本上,它需要一堆更改脚本,并将它们合并成一个脚本,将每个脚本包装在IF whatever BEGIN … END语句。 但是,某些脚本需要GO语句,因此,例如,SQL分析器在创build后就知道新的列。 ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL GO — Necessary, or next line will generate "Unknown column: EMP_IS_ADMIN" UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN = whatever 但是,一旦我把它包装在IF块中: IF whatever BEGIN ALTER TABLE dbo.EMPLOYEE ADD COLUMN EMP_IS_ADMIN BIT NOT NULL GO UPDATE dbo.EMPLOYEE SET EMP_IS_ADMIN = whatever END 它失败了,因为我发送一个BEGIN没有匹配的END […]

date时间和时间戳在sqlserver之间的区别?

Timestamp和Datetime SQL Server有什么区别? 我认为这两种格式都可以存储date和时间。 那么,他们之间的区别在哪里呢? 但Timestamp不能存储date,时间信息。 还有什么区别?

MySQL – 为什么不索引每个领域?

最近我学到了索引的奇迹,性能有了很大的提高。 但是,就我所知,我似乎无法find这个问题的答案。 索引很好,但为什么不能只索引所有字段来使表格变得非常快? 我相信有一个很好的理由不这样做,但是如何在三场比赛中的三场比赛? 10在30场? 应该在哪里画线,为什么?

用于简化SQL语句的一般规则

我正在寻找一些“推理规则”(类似于设置操作规则或逻辑规则),我可以用它来减less复杂性或大小的SQL查询。 有没有这样的东西? 任何文件,任何工具? 您自己find的任何等价物? 它在某种程度上类似于查询优化,但不是在性能方面。 说明它的不同:使用JOINs,SUBSELECTs,UNIONs进行(复杂)查询有可能(或不是)通过使用一些转换规则将其简化为更简单的等效SQL语句,该语句产生相同的结果? 所以,我正在寻找SQL语句的等效转换,就像大多数SUBSELECT可以重写为JOIN一样。

Azure SQL数据库Web与商业版

除了支持的最大数据库大小以外,Azure SQL数据库的Web Edition和Business Edition之间是否有区别? 我假设命名有一些意义,但我发现的所有信息只是谈论最大分贝大小。 我想知道是否有任何其他差异,如SLA,复制,可扩展性等 任何线索?

在SQL中从数据库表中删除除n之外的所有内容

在sql中删除表中所有行的最佳方法是什么?在顶部保留n行?

SQLAlchemy:如何过滤date字段?

这里是模型: class User(Base): … birthday = Column(Date, index=True) #in database it's like '1987-01-17' … 我想在两个date之间过滤,例如select间隔18 – 30年的所有用户。 如何用SQLAlchemy实现它? 我想: query = DBSession.query(User).filter( and_(User.birthday >= '1988-01-17', User.birthday <= '1985-01-17') ) # means age >= 24 and age <= 27 我知道这是不正确的,但如何做到正确? 提前致谢!

如何在SQL中的一行中声明和分配一个variables

我想要类似的东西 DECLARE myVariable nvarchar[MAX] = "hello world". 奖励点,如果你告诉我如何编码string中的报价。 例如: 我想要读取string John said to Emily "Hey there Emily" 我的尝试将是 DECLARE myVariable nvarchar[MAX] = "John said to Emily \"Hey there Emily\""

sqlite是否支持select中的任何一种IF(条件)语句

sqlite是否支持select语句中的sql函数“if”? 例如 select if( length( a ) > 4 , a , ' ') as b from foo 如果长度超过4个字符,将返回一个。 否则会返回“b” 如果它支持条件select什么是应该使用的语法? 我检查了http://sqlite.org/lang_corefunc.html,但我看不到它。