因胸联盟 发表于 2015-1-16 22:16:11

MYSQL编程:静态SQL语句利用心得

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给别人分配了一个只可以读几个表的权限,而这个家伙疯狂的死循环进行连接查询,会给你的系统带来很大的负担。

愤怒的大鸟 发表于 2015-2-12 22:55:31

光写几个SQL实在叫无知。

第二个灵魂 发表于 2015-3-3 11:10:35

多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油

谁可相欹 发表于 2015-3-11 10:40:31

对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。

不帅 发表于 2015-3-18 08:00:45

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

飘飘悠悠 发表于 2015-3-25 17:23:31

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
页: [1]
查看完整版本: MYSQL编程:静态SQL语句利用心得