데이터 베이스 MySQL 튜토리얼 利用DB2 V10.1中的全局变量实现全球化

利用DB2 V10.1中的全局变量实现全球化

Jun 07, 2016 pm 05:54 PM
db2 전역 변수 세계화

本文的第 1 部分 展示了 DB2 V10.1 的安全性特性如何满足将来自多个国家(行政区)的数据整合到单独一组表中的组织的关键业务需求: 1. 使本地用户仅能访问其所在国家(行政区)的数据 2. 使地区用户仅能访问其所在地区的数据 3. 针对地区用户,实现地方敏感

本文的第 1 部分 展示了 DB2 V10.1 的安全性特性如何满足将来自多个国家(行政区)的数据整合到单独一组表中的组织的关键业务需求:

1. 使本地用户仅能访问其所在国家(行政区)的数据
2. 使地区用户仅能访问其所在地区的数据
3. 针对地区用户,实现“地方敏感型”,自动将不同国家(行政区)的币种值转为通用币种(例如,为了汇总分别使用新加坡货币和中国香港货币的两种商品的价格,需要进行币种转换)
4. 根据用户是本地用户还是地区用户来屏蔽列数据

本文以第1 部分作为基础,展示了如何利用全局变量和角色来降低代码复杂性、提高有用性,同时动态计算对地方敏感的日期/时间段。

提高指定日期/时间值时的有用性

全局变量可用于使 SQL 更易理解。您不必再在 SQL 语句中指定复杂的公式,而是可以为该公式创建一个全局变量,直接指定该变量。全局变量提供了共享的通用例程,可在任何 SQL 中使用它们,这些例程消除了重复编写相同代码的需要。除此之外,利用全局变量时,只需在指定公式的位置创建变量一次,因此可减少 SQL 中的错误。

全局变量支持使用描述性名称,这有助于用户或读者确定应执行哪些计算。例如,指定一周的第一天时,可以在查询中包含这样的计算:

SELECT … FROM REAL_ESTATE_SALES
WHERE PROPERTY_TYPE = ‘CONDO’
AND EFFECTIVE_DATE =
CURRENT_DATE – (DAYOFWEEK_ISO (CURRENT_DATE)-1) DAYS)

我们也可以创建一个全局变量来改善可读性。这允许任何查看 SQL 语句的用户确定查询执行的日期计算:

CREATE VARIABLE FIRST_DAY_OF_WEEK DATE
DEFAULT
(CURRENT_DATE – (DAYOFWEEK_ISO (CURRENT_DATE)-1) DAYS)

现在,可将查询写为:

SELECT … FROM REAL_ESTATE_SALES
WHERE PROPERTY_TYPE = ‘CONDO’
AND EFFECTIVE DATE = FIRST_DAY_OF_WEEK

全局变量允许我们指定一个“常量”,全局变量的名称表示业务查询执行的操作。下面给出了几个常用的日期/时间段:
1. 今天
2. 昨天
3. 明天
4. 一个月的第一天
5. 一个月的最后一天
6. 一个星期的第一天
7. 当前季度的第一天
利用全局变量,可以通过用户友好、易于阅读的格式表示这些时间段。下面给出了上述时间段的定义。
今天:

CREATE VARIABLE TODAY DATE DEFAULT CURRENT DATE

昨天:

CREATE VARIABLE YESTERDAY DATE DEFAULT CURRENT DATE – 1 DAY

明天:

CREATE VARIABLE TOMORROW DATE DEFAULT CURRENT DATE + 1 DAY

一个月的第一天:

CREATE VARIABLE FIRST_DAY_OF_CURRENT_MONTH DATE
DEFAULT
(CURRENT_DATE – (DAY (CURRENT_DATE)-1) DAYS)

一个月的最后一天:

CREATE VARIABLE LAST_DAY_OF_CURRENT_MONTH DATE
DEFAULT
(LAST_DAY (CURRENT DATE))

一个星期的第一天:

CREATE VARIABLE FIRST_DAY_OF_WEEK DATE
DEFAULT
(CURRENT_DATE – (DAYOFWEEK_ISO (CURRENT_DATE)-1) DAYS)

当前季度的第一天(请注意,定义中也使用了全局变量 FIRST_DAY_OF_THE_CURRENT_MONTH):

CREATE VARIABLE FIRST_DAY_OF_QUARTER DATE
DEFAULT
(ROUND (FIRST_DAY_OF_CURRENT_MONTH,’Q'))

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까? C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까? Apr 19, 2024 pm 03:42 PM

C++ 함수의 지역 변수와 전역 변수의 차이점은 무엇입니까?

PHP 요청은 무엇을 의미합니까? PHP 요청은 무엇을 의미합니까? Jul 07, 2021 pm 01:49 PM

PHP 요청은 무엇을 의미합니까?

Go 언어에는 정적 전역 변수가 있나요? Go 언어에는 정적 전역 변수가 있나요? Jul 11, 2023 pm 03:37 PM

Go 언어에는 정적 전역 변수가 있나요?

JavaScript에서 전역 변수 안전성 구현 JavaScript에서 전역 변수 안전성 구현 Jun 15, 2023 pm 10:33 PM

JavaScript에서 전역 변수 안전성 구현

db2와 oracle 구문의 차이점은 무엇입니까 db2와 oracle 구문의 차이점은 무엇입니까 Jul 05, 2023 am 10:39 AM

db2와 oracle 구문의 차이점은 무엇입니까

CES 2024 이후에는 11가지 답변이 있습니다. CES 2024 이후에는 11가지 답변이 있습니다. Jan 13, 2024 am 09:54 AM

CES 2024 이후에는 11가지 답변이 있습니다.

Golang 함수의 전역변수와 지역변수의 데이터 경쟁 분석 Golang 함수의 전역변수와 지역변수의 데이터 경쟁 분석 May 21, 2023 am 08:19 AM

Golang 함수의 전역변수와 지역변수의 데이터 경쟁 분석

세계 10대 AI 유니콘: 중국 1개, 미국 9개, 1위의 가치는 1900억 위안 이상 세계 10대 AI 유니콘: 중국 1개, 미국 9개, 1위의 가치는 1900억 위안 이상 May 31, 2023 am 08:56 AM

세계 10대 AI 유니콘: 중국 1개, 미국 9개, 1위의 가치는 1900억 위안 이상

See all articles