在本课中,您将连接到统一数据库,创建 CustomerProducts 表,更改 Customers 表以将地区信息包括在内。
前提条件
本课假定您已完成前面的所有课程。 请参见第 1 课:设计模式。
本课假定您拥有在本教程(教程:对 SQL Anywhere 统一数据库使用 MobiLink)开头的“特权”部分中列出的角色和特权。
上下文和注释
在同步系统中,表的主键是在不同数据库中唯一地标识行的唯一方式,也是检测冲突的唯一方式。正在协调的每一个表都必须具有一个主键。切勿对主键进行更新。还需要确保已插入到一个数据库中的主键值不被插入到另一数据库。
在下一课中将根据统一模式创建远程模式,所以远程模式与统一模式的主键相同。
列经过特别的选择,以确保对于所有数据库存在唯一主键。对于 Customers 表,主键由 ID 列组成。任何插入到远程 Customers 表中的值都必须具有唯一的客户 ID 号(Region 值始终相同)。这可以确保每个远程 Customers 表的唯一性。统一 Customers 表中的主键可防止多个销售人员上载数据时发生冲突。由于 Region 值不同,某个地区的每次上载相对于其它地区而言都是唯一的。
单击 [开始] » [程序] » [SQL Anywhere 16] » [管理工具] » [Sybase Central]。
单击 [连接] » [使用 SQL Anywhere 16 连接]。
在 [连接] 窗口执行下列任务:
在 [操作] 下拉列表中选择 [使用 ODBC 数据源连接]。
在 [ODBC 数据源名称] 字段中键入 [SQL Anywhere 16 Demo]。
单击 [连接]。
在 Interactive SQL 中连接到统一数据库。
在命令提示符处,运行以下命令:
dbisql -c "DSN=SQL Anywhere 16 Demo" |
在 Interactive SQL 中执行下列语句,在 CustomerProducts 表中创建并插入数据:
CREATE TABLE CustomerProducts (ID int default AUTOINCREMENT PRIMARY KEY, SalesOrderID int NOT NULL, CustomerID int NOT NULL, ProductID int); INSERT INTO CustomerProducts (SalesOrderID,CustomerID,ProductID) SELECT SalesOrders.ID, SalesOrders.CustomerID, SalesOrderItems.ProductID FROM SalesOrders, SalesOrderItems WHERE SalesOrders.ID = SalesOrderItems.ID; |
在 Interactive SQL 中执行下列语句,将各个客户的地区信息添加到 Customers 表中:
ALTER TABLE Customers ADD Region VARCHAR(255); UPDATE Customers SET Region = (SELECT TOP 1 SalesOrders.Region FROM SalesOrders WHERE Customers.ID = SalesOrders.CustomerID ORDER BY Region); COMMIT; |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |