如何让程序所有模块屏蔽某个表一部分数据? 我用的是delphi+sql server,我的sql server当中有一个用户表,我有两个delphi的程序,一个程序查询用户表的所有数据,另外一个程序需要屏蔽用户表的一部分程序,例如屏蔽以a、b、c、d打头的用户,保留以e打头的用户,我又不想对delphi程序的所有模块一个一个地进行改动,因为工作量太大,有什么好的办法,例如存储过程之类的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 create proc get_some(@user int)asbeginif(@user = 1)select * from tb where 1 = 1if(@user = 2)select * from tb where 1 = 1 and left(userName,1) = N'e'if(..)...endgo 我的delphi程序当中对用户表的各种操作都有(select,insert,update..),各种查询方式都有,大哥你写那个存储过程我一头雾水,你这个存储过程我怎么在程序当中调用,where 1 = 1又是什么意思? 如果是这样,建议去程序里改动对应的查询语句,并加上权限控制,where 1 = 1 没什么特别的,结果和不加一样。 程序当中改动作量太大,如果是做两个表,要求表要同步,表一(打头为a、b、c、d、e)包含表二所有数据(打头为e),但是表二的所有操作要同步到表一中。有没有办法在sql server里面弄一个即时同步的办法? 从长远考虑,建议还是修改Delphi程序吧,否则系统只会越来越复杂,到时出问题都难排查. CREATE TRIGGER [触发器名]on 表二 after INSERT,DELETE,UPDATEasbegin [更新表一的代码]end 把数据备份到另外一个表Table1,然后再建个同名视图TAble,这样程序不需要修改,部分数据可以通过视图来屏蔽掉部分列。 数据库备份计划的疑问 在管理器中用127.0.0.1 sa/sa 登不进去? 新手求高手一查询语句 检查用户名是否被注册的存储过程应该怎么写? 如何用一条语句来统计单选项里最高值的和以及所选值的和,然后还要分类显示出来?难度很大! SQL2000创建临时表显示乱码,急 3个表关联的sql语句该怎么写? 散分了,给大家出题! 问题还是没有得到解决!(高手请进在线等!) 国内it人员的困惑。。。。。。。 求:现有如下数据,请大哥们帮忙,谢谢 sql server 2005新站一列
create proc get_some(@user int)
as
begin
if(@user = 1)
select * from tb where 1 = 1
if(@user = 2)
select * from tb where 1 = 1 and left(userName,1) = N'e'
if(..)
...
end
go
又是什么意思?
如果是这样,建议去程序里改动对应的查询语句,并加上权限控制,where 1 = 1 没什么特别的,结果和不加一样。
否则系统只会越来越复杂,到时出问题都难排查.
on 表二
after INSERT,DELETE,UPDATE
as
begin
[更新表一的代码]
end