仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1070|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL编程:静态SQL语句利用心得

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:16:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
WindowsAzureSQLDatabase并不支持数据压缩和表分区之类的功能,而且SQLDatabase支持的Transact-SQL语言只是完整版的一部分。另外,因为解决方案提供商不能控制物理资源,所以他们不能将数据文件和索引分配给特定的硬件。在我们的项目中常常必要用到分面功效,而我之前呢用的办法如今看起来都是那麽的愚笨,事先是如许做的,每当要举行数据分页时就专们针对谁人表做分页,人人别笑,之前的确好笨。呵呵,固然事先也有一个设法就是但愿可以传进一张表出来举行操纵,但那样的话编译是通不外的,由于FROM前面操纵的是表变量,而不克不及是我们自界说的变量,以是事先没有深究查,如今为事先不深切进修而BS一下。

静态SQL必要筹办以下内容:

1、@SQL拼接后的SQL语句,能够是你恣意必要的SQL语句如:SET@SQL=SELECT*FROMtableWHEREID=@id注重此处的@SQL必需且只能是NTEXT、NVARCHAR、NCHAR范例,假如是别的范例的话别的中央明显没有成绩却会报"历程必要范例为ntext/nchar/nvarchar的参数"这个毛病。同时,假如这里必要传进表称号的话则应如许写:SET@SQL=SELECT*FROM+@table+WHEREID=@id,由于下面传进的值是文本范例故会报错。

2、@parameters所拼接的SQL语句内里的参数,按下面的话这里应当是:SET@parameters=@idINT同时这个参数的范例也必需且只能是NTEXT、NVARCHAR、NCHAR范例
3、挪用:sp_executesqlparam1(,param2)个中param1一样平常我们作为是@SQL,前面的参数则是我们在@sql中的参数了,但这里要注重的是传参的时分必需是对应的:

复制代码代码以下:
  DECLARE@InputIdINT;
  SET@InputId=1;
  param2为:@id=@InputId;


以下是写的一个复杂的通用分页,有必要能够自行修正:

复制代码代码以下:
ALTERPROCEDUREsp_pager
(
@TableNamenvarchar(50),--表名
@ReturnFieldsnvarchar(200)=*,--必要前往的列
@PageSizeint=50,--每页纪录数
@PageIndexint=1--以后页码
)
AS
DECLARE@SQLNVARCHAR(1000)
DECLARE@paramtersNVARCHAR(200)
BEGIN
SETNOCOUNTON
SET@SQL=SELECT+@ReturnFields+FROM+@TableName+WHEREID>(SELECTTOP1IDFROM(SELECTTOP+CAST(@PageSize*@PageIndexASVARCHAR)+IDFROM+@TableName+ORDERBYID)ASAORDERBYIDDESC)
PRINT@SQL
EXECUTEsp_executesql@SQL,@paramters,@columns=@ReturnFields
END
对免费版的用户也具有充足的支持服务。在dev.mysql.com上,一个大型的MySQL学习教程强大社区用户和开发者可以讨论所有关于MySQL的事情。这个站点拥有博客、指南、视频、技术交流会、白皮书和论坛等方式的交流。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 06:28:05 来自手机 | 只看该作者
发几份SQL课件,以飨阅者
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-27 23:47:02 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
透明 该用户已被删除
地板
发表于 2015-2-5 16:06:37 | 只看该作者
始终遗憾SQLServer的登陆无法分配CPU/内存占用等指标数。如果你的SQLServer给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-12 22:55:31 | 只看该作者
光写几个SQL实在叫无知。
第二个灵魂 该用户已被删除
6#
发表于 2015-3-3 11:10:35 | 只看该作者
多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油
谁可相欹 该用户已被删除
7#
发表于 2015-3-11 10:40:31 | 只看该作者
对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。
不帅 该用户已被删除
8#
发表于 2015-3-18 08:00:45 | 只看该作者
每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-25 17:23:31 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 20:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表