Office中国论坛/Access中国论坛
标题:
如何让多表的存储过程能新增修改?
[打印本页]
作者:
KenjiSato
时间:
2002-8-30 19:22
标题:
如何让多表的存储过程能新增修改?
SELECT dbo.权限模块功能.模块, dbo.权限模块功能.功能, dbo.权限明细.用户号,
dbo.权限明细.功能模块号, dbo.权限明细.新增, dbo.权限明细.查询, dbo.权限明细.修改,
dbo.权限明细.删除, dbo.权限明细.审核, dbo.权限明细.反审, dbo.权限明细.打印,
dbo.权限明细.机密, dbo.权限明细.范围, dbo.权限明细.流水号,
dbo.MR员工档案.姓名
FROM dbo.权限模块功能 INNER JOIN
dbo.权限明细 ON dbo.权限模块功能.功能模块号 = dbo.权限明细.功能模块号 INNER JOIN
dbo.MR员工档案 ON dbo.权限明细.用户号 = dbo.MR员工档案.员工号
WHERE (dbo.MR员工档案.姓名 = @Tree姓名)
作者:
KenjiSato
时间:
2002-8-31 00:14
UniqueTable 属性标识了联接的“大多数”表。如果没有设置 UniqueTable 属性,则与窗体绑定的包含联接的视图、存储过程或 SQL 字符是只读的。同时,对于联接,由 View.Open 或 StoredProc.Run 产生的数据表是只读的(因为没有其他方法设置 UniqueTable 属性)。只要设置了 UniqueTable 属性,就只有该表中的字段是可更新的,且只能对该表进行插入和删除。
好象是这原因,请教如何设置。
作者:
KenjiSato
时间:
2002-8-31 00:59
解决了:
主要是存储过程的输入参数致使窗体上的唯一表无法选(手工输入无效),只得人工解决:
先把存储过程、窗体的 输入参数 去除,在窗体上选唯一表,再在存储过程、窗体中加回输入参数。问题是解决了,但感觉太麻烦不是多个窗体操作,以后用到时容易忘记。能否帮忙写个自动生成。
谢谢!
作者:
KenjiSato
时间:
2002-8-31 01:00
或者在存储过程中有唯一表?
作者:
HG
时间:
2002-8-31 01:20
老大,要讓一個連接多表的儲儲過程具有可寫功能要從以下几點著手:
1。存儲過程中的字段包括所來源的基表中的全部必填字段。
2。必須接收所有在存儲過程中預輸入的參數(當然有默認值的可以不用)
3。在用一個存儲程向多個表中操作數據時,最好把這個存儲過程放在一個事務中
4。在SQL2K中事務的處理,可以有返回到一個事務保存點的功能,這個您可以想想怎么用
5。同時最好用基表觸發器來檢查數據操作的完整性。
這個我的個人觀點,希望您多考慮一些,因此問題,不是不可實現,實鍵是太麻煩。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3