SQL语句 OR 存储过程? - .NET技术 / C#
执行数据库操作时,直接用SQL 语句好一些 还是用存储过程更佳呢?
各抒起见
这个的具体问题具体分析
简单的select 、update和insert当然sql解决了
复杂的放在sql服务端应该好点
楼主请参阅
http://msdn.microsoft.com/zh-cn/library/ms973918(v=MSDN.10).aspx
能用sql语句实现的不要用存储过程,复杂的功能和逻辑关系用存储过程
防止sql注入数据参数化
基础增删改查用SQL语句,
对于复杂业务,使用存储过程,对复杂查询也可以使用视图
优秀与非优秀之分
存储过程比较好,因为存储过程是预先编译好的,执行速度更快,而且更安全,可以有效的防止sql注入
最好还是使用存储过程这样可以,这样做的系统移植性还是比较好的。
使用存储过程的优点还是比较多的,防止sql注入,减轻了服务的负担等。
该说的楼上都说了....
顶上去,他们都说的有道理……
个人也这么认为。
复杂 调用存储过程
简单 直接用sql语句进行操作
从简,也方便修改
具体问题具体分析 我还是觉得sql语句更好用
这个要看具体的情况了
存储过程消耗的是服务器资源,我一般喜欢用sql把数据从服务端取过来在客户端进行复杂逻辑处理,毕竟服务器还是执行简单的select更好,这样能够更好发挥客户端的运算能力。
所以我觉得如果没有必要,最好还是不要用存储过程。
来学习学习!
有理
相关问答:
可能因为工作的原因 接触数据库这块比较少,之前都是做程序这块,数据库这块都有专门的人来做 分工都很明细 所以对数据库这一块完全不了解。前段时间 去面试了几家公司 几乎都是在数据库这块挂掉的 连个简单的SQ ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
将一个查询语句赋给一个变量,如下:
DECLARE @STR NVARCHAR(MAX)
SET @STR='SELECT * from SALE_PROD'
怎么样才能执行它呢?
请高手,仁兄,侠姐帮帮忙啊
多谢,可以啦,高手啊
直接执行就行了
exec ......
表数据
COL1 COL2 COL2 COL4 COL5
----------------------------------------------------------------------------------------------
2010-05-05 00:00 ......