How To Use Dynamic Sql in Sql Server ?
How To Use Dynamic Sql in Sql Server ?
¶¯Ì¬SQL ÔÚsql server ProcedureÖеÄÓ¦ÓÃ
Create PROCEDURE [dbo].[Proc_Get_Serial_No]
(
@Table_Name varchar(20),
@No_File varchar(20)
)
AS
Declare @Serial_No int
Begin
Declare @Sql nvarchar(max)
Set @Sql ='select @Serial_No= isnull(Max('+@No_File+'),0)+1 from '+@Table_Name+''
Execute sp_executesql @Sql,
N'@Serial_No int output',
@Serial_No output
print @Serial_No
End
---Result---
Serial_No
-----------
1
×¢Ò⣺¶ÔÓÚIntput µÄ²ÎÊýÐèÒªÓà '+@parameter+'
¶ÔÓÚoutput µÄ²ÎÊýÔòÐèÒªÔÚ Ö´Ðж¯Ì¬sql µÄʱ¼äÒÔ¶¨Òå²ÎÊýµÄÐÎʽ˵Ã÷¡£
ÈçÉÏÃæµÄ£º N'@Serial_No int output'£¬È»ºó²ÅÊDzÎÊýÊä³ö,Èç @Serial_No output
--If Your want to output more the one value, your can reference the sql section as below¡£
Note: The Output Parameter Define.
Create PROCEDURE [dbo].[Proc_Get_Serial_No]
(
@Table_Name varchar(20),
@No_File varchar(20)
&n
Ïà¹ØÎĵµ£º
ÔÚ Oracle 10g ÖÐ
¿ÉÒÔͨ¹ý http://localhost:5560/isqlplus ·ÃÎÊ isqlplus
ÔÚ isqlplus ÖÐ ¿ÉÒÔÖ´ÐÐ plsql
set serveroutput on size 100000 // ´ò¿ª ·þÎñÆ÷µÄÊä³ö on ºóÃæÊÇ »º´æµÄ´óС ·¶Î§ÊÇ (2000 ÖÁ 1000000)
begin
dbms_output.put_line('hel ......
BACKUP DATABASENAME WITH NO_LOGÒ»Ö±ÊÇÎҽضÏÊÂÎñÈÕÖ¾£¬Ñ¹Ëõ¿Õ¼äµÄÀûÆ÷£¬½ñÌìÔÙSQL2008ÉÏÒ»Óã¬È´²»ÁéÁË
ÏûÏ¢ 3032£¬¼¶±ð 16£¬×´Ì¬ 2£¬µÚ 2 ÐÐ
´ËÓï¾ä²»Ö§³ÖÒ»¸ö»ò¶à¸öÑ¡Ïî(no_log)¡£Çë²éÔÄÎĵµÒÔÁ˽âËùÖ§³ÖµÄÑ¡Ïî¡£
²é¿´Áª»ú°ïÖúÊֲᣬÀïÃæÈ·ÊµÃ»ÓÐwith no_logµÄ¿ÉÑ¡ÏîÁË£¬ÄÇÔõô°ì°¡£¬50MµÄÊý¾ÝÎļþ£¬2GµÄÈÕÖ¾Îļþ£¬È ......
Ò»¡¢PL/SQL±à³Ì¹æ·¶Ö®´óСд
¾ÍÏñÔÚSQLÖÐÒ»Ñù£¬PL / SQLÖÐÊDz»Çø·Ö´óСдµÄ¡£ÆäÒ»°ã×¼ÔòÈçÏ£º
¹Ø¼ü×Ö(BEGIN, EXCEPTION, END, IF THEN ELSE,LOOP, END LOOP)¡¢Êý¾ÝÀàÐÍ(VARCHAR2, NUMBER)¡¢ÄÚ²¿º¯Êý(LEAST, SUBSTR)ºÍÓû§¶¨ÒåµÄ×Ó³ÌÐò(procedures, functions,packages)£¬Ê¹Óôóд¡£
±äÁ¿ÃûÒÔ¼°SQLÖеÄÁÐÃûºÍ±íÃû£¬Ê¹ÓÃÐ ......
ÒªÏë³É¹¦·ÃÎÊ SQL Server Êý¾Ý¿âÖеÄÊý¾Ý£¬ÎÒÃÇÐèÒªÁ½¸ö·½ÃæµÄÊÚȨ£ºÒ»¡¢»ñµÃ×¼ÐíÁ¬½Ó SQL Server ·þÎñÆ÷µÄȨÀû£»¶þ¡¢»ñµÃ·ÃÎÊÌØ¶¨Êý¾Ý¿âÖÐÊý¾ÝµÄȨÀû£¨select, update, delete, create table ...£©¡£¼ÙÉ裬ÎÒÃÇ×¼±¸½¨Á¢Ò»¸ö dba Êý¾Ý¿âÕÊ»§£¬ÓÃÀ´¹ÜÀíÊý¾Ý¿â mydb¡£
1. Ê×ÏÈÔÚ SQL Server ·þÎñÆ÷¼¶±ð£¬´´½¨µÇ½ÕÊ»§£¨creat ......
ÔÚ´æ´¢¹ý³ÌÖÐʹÓÃÊÂÎñ£¬ÒÔÏÂΪģ°å£º
CREATE PROCEDURE testPro
AS
/**//* ------- ÊÂÎñ¿ªÊ¼---------- */
BEGIN TRANSACTION tran_test
/**//* -------- ±£´æÊÂÎñ----------*/
SAVE TRANSACTION tran_test
/**//* -------- Êý¾Ý²Ù×÷---------*/
INSERT [table1] ( [content] ) VALUES ( '43332' )
/**//*---- ......