易截截图软件、单文件、免安装、纯绿色、仅160KB

PowerDesigner生成MS SQL foreign 的问题

简单地说,就是从CDM生成PDM的时候,releationship约束无效,不能生成外键约束的代码。生成基于oracle的pdm没问题,ms sql server有问题
这里的是sql server 2005
Power Designer是15.0.0.2613
看起來是PD的bug,解決辦法是在PDM畫面中點選Model->References...
會跳出一個視窗裡頭有這個PDM的所有Reference的相關資訊,最後有個欄位叫Implementation可以直接設定成Declarative就好了。
補充一下,如果Implementaion無法強制設成Declarative,可將Current DBMS設成Sql Server 2000即可。設定完後再改回來Sql server 2005/2008即可。 不知道甚麼原因導致Sql 2005/2008的DBMS會強制Reference Integrity設成用trigger的方式。
当从CDM转到PDM(MS SQL Server)的时候,在CDM中的ReleationShip不能在CDM的foreign生成有效代码,References的Privew标签显示内容为:
-- The preview is empty because of the setting.
-- Check the generation option.
查看integrity标签,implementation显示为trigger,update/delete constraint分别为restrict,改变为update/delete constraint为none,并且改implementation为declarative后,preview中代码显示正常,如下:
if exists (select 1
  from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
  where r.fkeyid = object_id('meb_FriendRequest') and o.name = 'FK_MEB_FRIE_RS_MEMBER_MEB_MEMB')
alter table meb_FriendRequest
  drop constraint FK_MEB_FRIE_RS_MEMBER_MEB_MEMB
go
alter table meb_FriendRequest
  add constraint FK_MEB_FRIE_RS_MEMBER_MEB_MEMB foreign key (Member_ID)
      references meb_Member (Member_ID)
go
根据提示,在创建pdm的时候查看选项,发现for sql server与for oracle内容不一样。 实验步骤:
1.建立一个cdm
2.建立两个实体,分别是parent和child,并且在这两个实体中间建立一对多的relationship。
3.将cdm生成for oracle 10g的pdm,查看child表的外键约束,在标签preview中可以看到创建外键约束的代码
4.将cdm生成for ms sql 2005的pdm,


相关文档:

Sql Server 基本函数

1.字符串函数
长度与分析用
datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格
substring(expression,start,length) 不多说了,取子串
right(char_expr,int_expr) 返回字符串右边int_expr个字符
字符操作类
upper(char_expr) 转为大写
lower(char_expr) 转为小写
space(int_expr) 生成int_exp ......

SQL操作

QL分类:
DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、 ......

SQL操作2

下列语句部分是Mssql语句,不可以在access中使用。
SQL分类: 
DDL—数据定义语言(Create,Alter,Drop,DECLARE) 
DML—数据操纵语言(Select,Delete,Update,Insert) 
DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,简要介绍基础语句:
1、说明:创建数据库
Create&nb ......

【SQL】使用一条INSERT语句完成多表插入

这是一条颠覆常规的插入方法,一条INSERT语句可以完成向多张表的插入任务。小小地展示一下这种插入方法。
1.创建表T并初始化测试数据,此表作为数据源。
sec@ora10g> create table t (x number(10), y varchar2(10));
sec@ora10g> insert into t values (1,'a');
sec@ora10g> insert into t values (2,'b');
......

SQL SERVER TELNET 连接失败

内容转自:http://david.btbbt.blog.163.com/blog/static/205989372009973357418/
登录远程SQL服务器
一 看ping 服务器IP能否ping通。
  这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 2000服务器的IP拼写正确。
  二 在Dos或命令行 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号