你好,在这篇博文中,我将展示如何通过核心数据服务(CDS)创建表和视图。
在我的示例中,我将使用HCP试用版和Web Development Workbench编辑器。
1)创建CDS文件(.hdbdd扩展名)
2)添加一些(正确的)内容并激活文件
3)转到您的架构并打开tables文件夹查看新生成的表格。
4)执行select语句–如预期的那样,最初您的表格将为空
5)右键单击表格,选择"生成插入"或键入它(如果您想犯拼写错误)
6)您生成的插入语句将在新选项卡上打开。然后,你可以将它保存为一个.sql文件(在你的包中选择一个位置)
7)我打开了这个sql文件,复制并粘贴到sql控制台,这样我就可以运行它了。注意控制台输出成功的insert消息,在我运行insert语句后,"行影响1"。
8)在我能够插入我的语句后,大数据如何处理,我返回select语句,再次运行它以验证我的记录实际上是插入的。因此,您可以在表中看到我的第一条记录
9)插入几条记录后,我们可以再次看到填充了更多行的表。
10)因为我有一个表,联网,所以我想创建一个简单的视图。我回到我的CDS文件,声明了一个视图。然后我重新激活了我的文件。
11)激活了hdbdd文件后,我又回到了我的目录,打开了保存新创建视图的视图文件夹。
12)再次,我在视图上单击鼠标右键,生成了一个select语句(我尽量避免键入SQL,这样我就不必在拼写正确之前反复键入,而是由您在第一次输入正确的名称时决定)。
13)我的select语句是在语句生成后
14)生成的我运行了它(我对它做了一点修改,但是上面的那个应该返回相同数量的记录,因为我的示例中只有6条记录)。请参阅下面的输出
如果您在一个包含大量记录的表上执行此操作,请小心,因为您可能会选择
有关CD的一些注意事项:
1)无法在CD中创建存储过程和序列(从SP10开始)
2)CD文件可能包含一个或多个实体或视图,当它被激活时,您的实体、视图,etc直接创建为架构上的设计时对象,可以随时使用。
3)HCP试用版(在您的Web开发工作台中)对于学习如何使用cd非常有帮助(因为您也可以使用HANA Studio)
需要忘记的事情:
1)在将代码从一个环境(如dev)升级到另一个环境时,忘记重新运行SQL语句环境(如QA或Prod)。在迁移过程中,CDS与HALM的配合非常好。
2)别以为这次旅行只有你一个人,你有一个完整的SCN团队在你身后
3)(我忘了3-我正在工作台上做下一个练习,是吗?)
同样,这是一个非常简单的文档,解释了如何通过CD创建表和视图。请分享你的经验或斗争与光盘。快乐编程。关于更高级的场景,请阅读本博客的第2部分,我在一张桌子上展示了一个1:1关联的视图
以下是我在撰写本博客时使用的一些有用的链接:
创建一个CDS文档
创建一个CDS视图
嗨Sergio.
很好的文章
我有一些后续问题,你可以帮助我理解。
我想使用CD,以便我可以使用HALM在环境之间迁移对象。
我不使用hdbtable文件,因为据我所知,它们不支持空间数据。
所以要回答以下问题:
1。关联-为什么要使用它们(除了在视图中更容易创建连接之外)?我注意到运行时对象上没有创建外键。这不是协会的意思吗?
2. 插入/选择和使用过程-如果我用CD创建模型-处理运行时对象的最佳方法是什么?我是否"必须记住"运行时对象的名称?是否有其他选择/插入表格的方法?(我将使用过程来完成-这样我就可以用HALM迁移相同的逻辑)。
3。我用的是空间数据-你知道我用光盘有什么限制吗?(例如我注意到我不能做一个计算字段,云品,它的答案是一个空间类型)
4。有没有像SQL"GENERATED ALWAYS AS"列创建这样的解决方案?
谢谢,
亚龙英格尔
亚龙,
谢谢你阅读博客,还有非常好的问题。我将尽可能地回答最好的问题。
1)关于关联-他们确实创建了关联,但是我不认为他们必须创建外键。这是CD关联的官方文档
2)您仍然可以将存储过程创建为设计时对象,例如.hdbprocedure对象,它们可以随HALM一起迁移。至于选择和插入,我知道存储过程是最简单和最干净的,但是,低价云服务器,根据您的需要,您也可以尝试使用XSJS的insert/select语句,云服务器免费,但我不建议这样做。
3)从SPS11开始,空间数据现在在CD上可用-这是文档
我自己没有使用过空间数据不过,在cd上,我从SP10开始就直接在hanadb上使用了它。我的情况是计算两点之间的距离,所以我开始创建一个存储过程,然后从我的lat/lon读取数据,然后这样做计算。
4)我不知道创建列时生成的SQL