【讨论】sql是面向过程的语言么?

xzxmustwin 2018-08-15 05:36:29
https://bbs.csdn.net/topics/350078571#new_post
我是看了这篇文章 关于初学SQL的建议。里面的内容还是很有借鉴意义的,但有一点我不敢苟同,T-SQL真的能作为一个面向过程的编程语言么?
有人说存储过程可以体现其面向过程,但我觉得存储过程本质上是一种批处理,是一种脚本,它并没有存在文件中,而是存在数据库中。
个人才疏学浅,欢迎大家讨论。
...全文
1307 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangs1314 2019-05-28
  • 打赏
  • 举报
回复
面向对象的程序语言和基于对象的脚本语言,只是在学术层面上被严格区分,而一般来讲,在技术层面上,并不那么严格被区分.
人们经常会说,用八个字概括面向对象的三大特性:"封装,继承,以及多态",又用两个字概括基于对象的一大特性:"闭包".
的确,脚本语言的prototype和closure,是最具有特色的,比如javascript.
其实,这些理论也不全面,毕竟特例太多,比如,actionscript也是脚本语言,它就具有继承的特性.
人们又经常会说,程序语言是强类型的语言,严谨性高而灵活性低,脚本语言正好相反.
于是,关系型数据库语言,比如,transact-sql,plsql,firebird,mysql,sqlite等,有它的两面性.
从结构上来说,看库结构和表结构,它们大概是面向关系的.
从过程上来说,看函数,存储过程和触发器那些机制,它们又大概是面向过程的.
从严格上来说,sql语言算是程序语言而不是脚本语言.不过,那只是学术上的划分,实际上无关紧要.
楼主的理解基本上是正确的,没有问题.
至于对象型数据库,比如mongodb,似乎是面向对象的.但是mongodb没有独特的语言,它只有独特的存储格式,名叫bson,其写法类似于json.
cgoxopx 2019-05-14
  • 打赏
  • 举报
回复
sql是面向问题的语言
卖水果的net 版主 2018-08-16
  • 打赏
  • 举报
回复
1、SQL是面向过程的,同时有的数据库产品有面向对象的编程。
2、你和理解也没有问题,存储过程是批处理。

那么问题来了,你的说的“面向过程” 和 “脚本” 这两者,有什么冲突呢?
吉普赛的歌 版主 2018-08-15
  • 打赏
  • 举报
回复
js 同样是脚本, 但它却能做到面向对象, 你作何解释?

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧