Questions tagged «enum»

3
如何在PostgreSQL(或SQL)中实现业务逻辑权限?
假设我有一个项目表: CREATE TABLE items ( item serial PRIMARY KEY, ... ); 现在,我要为每个项目引入“权限”的概念(请注意,这里我不是在谈论数据库访问权限,而是该项目的业务逻辑权限)。每个项目都具有默认权限以及每个用户的权限,这些权限可能会覆盖默认权限。 我试图考虑实现此问题的几种方法,并提出了以下解决方案,但是我不确定哪个是最好的,以及为什么: 1)布尔解 为每个权限使用一个布尔列: CREATE TABLE items ( item serial PRIMARY KEY, can_change_description boolean NOT NULL, can_change_price boolean NOT NULL, can_delete_item_from_store boolean NOT NULL, ... ); CREATE TABLE item_per_user_permissions ( item int NOT NULL REFERENCES items(item), user int NOT …
16 postgresql  enum 

3
创建数据库级别的常量(枚举)而不使用CLR?
我有几个SQL对象,它们需要根据请求的期望状态采取其他操作。有没有一种方法可以创建数据库级别的常量(枚举),这些常量可以传递给存储过程,表值函数并可以在查询中使用(不使用CLR)? CREATE PROCEDURE dbo.DoSomeWork(@param1 INTEGER, ..., @EnumValue myEnumType) AS ...; 然后使用它: EXEC doSomeWork 85, ..., (myEnumType.EnumValue1 + myEnumType.EnumValue2); 哪里myEnumType将保留一些枚举值。 在该过程中,我将能够使用@EnumValue它并针对其中的值进行测试myEnumType以完成所需的工作。我将myEnumType考虑的情况下使用位掩码的值。 举一个简单的例子,考虑一个昂贵的过程,该过程需要一个庞大的数据集并将其缩减为较小但仍然非常大的数据集。在此过程中,您需要在过程的中间进行一些调整,以免影响结果。说这是基于归约内中间计算的某些状态来过滤(或针对)某些类型的记录。该@EnumValue类型的myEnumType可以用来测试此 SELECT ... FROM ... WHERE (@EnumValue & myEnumType.EnumValue1 = myEnumType.EnumValue1 AND ...) OR (@EnumValue & myEnumType.EnumValue2 = myEnumType.EnumValue2 AND ...) OR ... 在不使用CLR的情况下,SQL Server中是否可能存在这类数据库级别的常量? 我正在寻找数据库级别的枚举或常量集,这些枚举或常量集可以作为参数传递给存储过程,函数等。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.