SQLServer ´æ´¢¹ý³Ì¼ò½éÓëʹÓ÷½·¨
Sql ServerµÄ´æ´¢¹ý³ÌÊÇÒ»¸ö±»ÃüÃûµÄ´æ´¢ÔÚ·þÎñÆ÷ÉϵÄTransacation-SqlÓï¾ä¼¯ºÏ,ÊÇ·â×°ÖØ¸´ÐÔ¹¤×÷µÄÒ»ÖÖ·½·¨,ËüÖ§³ÖÓû§ÉùÃ÷µÄ±äÁ¿¡¢Ìõ¼þÖ´ÐÐºÍÆäËûÇ¿´óµÄ±à³Ì¹¦ÄÜ¡£
´æ´¢¹ý³ÌÏà¶ÔÓÚÆäËûµÄÊý¾Ý¿â·ÃÎÊ·½·¨ÓÐÒÔϵÄÓŵ㣺
£¨1£©Öظ´Ê¹Óᣴ洢¹ý³Ì¿ÉÒÔÖØ¸´Ê¹Ó㬴Ӷø¿ÉÒÔ¼õÉÙÊý¾Ý¿â¿ª·¢ÈËÔ±µÄ¹¤×÷Á¿¡£
£¨2£©Ìá¸ßÐÔÄÜ¡£´æ´¢¹ý³ÌÔÚ´´½¨µÄʱºò¾Í½øÐÐÁ˱àÒ룬½«À´Ê¹ÓõÄʱºò²»ÓÃÔÙÖØÐ±àÒë¡£Ò»°ãµÄSQLÓï¾äÿִÐÐÒ»´Î¾ÍÐèÒª±àÒëÒ»´Î£¬ËùÒÔʹÓô洢¹ý³ÌÌá¸ßÁËЧÂÊ¡£
£¨3£©¼õÉÙÍøÂçÁ÷Á¿¡£´æ´¢¹ý³ÌλÓÚ·þÎñÆ÷ÉÏ£¬µ÷ÓõÄʱºòÖ»ÐèÒª´«µÝ´æ´¢¹ý³ÌµÄÃû³ÆÒÔ¼°²ÎÊý¾Í¿ÉÒÔÁË£¬Òò´Ë½µµÍÁËÍøÂç´«ÊäµÄÊý¾ÝÁ¿¡£
£¨4£©°²È«ÐÔ¡£²ÎÊý»¯µÄ´æ´¢¹ý³Ì¿ÉÒÔ·ÀÖ¹SQL×¢ÈëʽµÄ¹¥»÷£¬¶øÇÒ¿ÉÒÔ½«Grant¡¢DenyÒÔ¼°RevokeȨÏÞÓ¦ÓÃÓÚ´æ´¢¹ý³Ì¡£
´æ´¢¹ý³ÌÒ»¹²·ÖΪÁËÈýÀࣺÓû§¶¨ÒåµÄ´æ´¢¹ý³Ì¡¢À©Õ¹´æ´¢¹ý³ÌÒÔ¼°ÏµÍ³´æ´¢¹ý³Ì¡£
ÆäÖУ¬Óû§¶¨ÒåµÄ´æ´¢¹ý³ÌÓÖ·ÖΪTransaction-SQLºÍCLRÁ½ÖÖÀàÐÍ¡£
Transaction-SQL ´æ´¢¹ý³ÌÊÇÖ¸±£´æµÄTransaction-SQLÓï¾ä¼¯ºÏ£¬¿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊý¡£
CLR´æ´¢¹ý³ÌÊÇÖ¸¶Ô.Net Framework¹«¹²ÓïÑÔÔËÐÐʱ(CLR)·½·¨µÄÒýÓ㬿ÉÒÔ½ÓÊܺͷµ»ØÓû§ÌṩµÄ²ÎÊý¡£ËûÃÇÔÚ.Net Framework³ÌÐò¼¯ÖÐÊÇ×÷ΪÀàµÄ¹«¹²¾²Ì¬·½·¨ÊµÏֵġ££¨±¾ÎľͲ»×÷½éÉÜÁË£©
´´½¨´æ´¢¹ý³ÌµÄÓï¾äÈçÏ£º
Code
CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ]
[ { @parameter [ type_schema_name. ] data_type }
[ VARYING ] [ = default ] [&n
Ïà¹ØÎĵµ£º
Ö»ÊÇsqlserver ÌṩµÄÔ¶³ÌÊý¾Ý·ÃÎʺ¯Êý; ÔÚ±¾µØsqlserver ÖÐÈ¡ÍⲿÊý¾ÝÔ´Êý¾Ýʱºò¿ÉÓÃ;
¶ÔÁ¬½Ó±¾µØ oracle ²Ù×÷Ô¶³Ì oracle ²»ÄÜʹÓÃ; ²âÊÔ: pl/sql ÖÐʹÓÃ:
select * from openrowset(................); ÎÞЧ!!!!!!!!!!!!!!
ÔÚoracle ÖÐÐèÒª·ÃÎÊÔ¶³ÌÊý¾Ý,ÐèÒª½¨Á¢Ò»Á¬½ÓÔ¶³Ìoracle µÄ dblink ;
ÔÙÓÃÈçÏ·½ ......
SQLSERVER ´óÊý¾ÝÁ¿²åÈëÃüÁ
BULK INSERTÊÇSQLSERVERÖÐÌṩµÄÒ»Ìõ´óÊý¾ÝÁ¿µ¼ÈëµÄÃüÁËüÔËÓÃDTS(SSIS)µ¼ÈëÔÀí£¬¿ÉÒÔ´Ó±¾µØ»òÔ¶³Ì·þÎñÆ÷ÉÏÅúÁ¿µ¼ÈëÊý¾Ý¿â»òÎļþÊý¾Ý¡£ÅúÁ¿²åÈëÊÇÒ»¸ö¶ÀÁ¢µÄ²Ù×÷£¬ÓŵãÊÇЧÂʷdz£¸ß¡£È±µãÊdzöÏÖÎÊÌâºó²»¿ÉÒԻعö¡£
¡¡¡¡BULK INSERTÊÇÓÃÀ´½«ÍⲿÎļþÒÔÒ»ÖÖÌØ¶¨µÄ¸ñʽ¼ÓÔ ......
create function comm_getpy
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--Èç¹û·Çºº×Ö×Ö·û£¬·µ»ØÔ×Ö·û
& ......
=================·ÖÒ³==========================
/*·ÖÒ³²éÕÒÊý¾Ý*/
CREATE PROCEDURE [dbo].[GetRecordSet]
@strSql varchar(8000),--²éѯsql,Èçselect * from [user]
@PageIndex int,--²éѯµ±Ò³ºÅ
@PageSize int--ÿҳÏÔʾ¼Ç¼
AS
set nocount on
declare @p1 int
declare @current ......
declare @areaid varchar(100)
declare @areaname varchar(100)
declare Cur cursor for
select code as areaID,[name] as areaName from dbo.province
open Cur
Fetch next from Cur Into @areaid,@areaname
While @@fetch_status=0
Begin
print('insert into ......