寫SQL語句或者儲存過程,使用SQL語句建立儲存過程

時間 2022-07-01 08:10:07

1樓:匿名使用者

*試下,我也不知道行不行

oracle10g以上版本提供wmsys.wm_concat

select wmsys.wm_concat(_id) aa, wmsys.wm_concat(_mawb) bb from tablename where rownum<10

------------------------------------

select ltrim(max(sys_connect_by_path(ou_code, ',')), ',') as result

from (select category_id, ou_code,act, rn, lead(rn) over(order by rn) rn1

from (select category_id||'*'||

ou_code,

actrow_number() over(order by category_id, ou_code desc) rn

from (select 原料號 category_id, 原料名 ou_code ,實際重量 act

from tablename t)))

start with rn1 is null

connect by rn1 = prior rn;

2樓:匿名使用者

select [原料號]+'/'+[原料名] as [原料號/原料名],[配方號],[實際重量] into #t from huiz

declare @sql nvarchar(max)select @sql=isnull(@sql+'],[','[')+[配方號] from #t group by [配方號]

set @sql=@sql+']'

set @sql='select [原料號/原料名],'+@sql+' from #t pivot (max([配方號]) for sub in ('+@sql+'))a'

select @sql

exec(@sql)

用儲存過程好,還是在**中寫sql語句好

3樓:在太平湖釣魚的金雀花

這個問題看你從那方面考慮了,如果說從方便性,簡易性來說儲存過程當然好點了,許多**都省了,還方便維護,不是隨時改**,與資料庫互動次數也少了。但是儲存過程的執行速度肯定沒單條sql快,在響應速度來說就差了點,再說安全性也會差了點,一旦資料洩露就危險了,畢竟洩露乙個sql和洩露乙個儲存過程來說,肯定儲存過程的洩露威脅也會大很多。

4樓:匿名使用者

這個要根據實際情況。。

使用sql語句建立儲存過程

5樓:行在月夜

使用sql語句建立儲存的具體過程如下:

1、首先,開啟企業管理器,選擇【工具】-【查詢分析器】:

2、然後,輸入sql語句。如下:

create procedure byroyalty1 @percentage int

asselect au_id from titleauthorwhere titleauthor.royaltyper = @percentage

go3、然後,點選確定之後,命令就會自動新增進查詢中:

4、然後執行一下剛輸入的命令:

5、最後,就可以在彈出的小視窗中檢視儲存過程了:

6樓:匿名使用者

語法create proc [ edure ] procedure_name [ ; number ]

[ [ varying ] [ = default ] [ output ]

] [ ,...n ]

[ with

] [ for replication ]

as sql_statement [ ...n ]

引數procedure_name

新儲存過程的名稱。過程名必須符合識別符號規則,且對於資料庫及其所有者必須唯一。有關更多資訊,請參見使用識別符號。

要建立區域性臨時過程,可以在 procedure_name 前面加乙個編號符 (#procedure_name),要建立全域性臨時過程,可以在 procedure_name 前面加兩個編號符 (##procedure_name)。完整的名稱(包括 # 或 ##)不能超過 128 個字元。指定過程所有者的名稱是可選的。

;number

是可選的整數,用來對同名的過程分組,以便用一條 drop procedure 語句即可將同組的過程一起除去。例如,名為 orders 的應用程式使用的過程可以命名為 orderproc;1、orderproc;2 等。drop procedure orderproc 語句將除去整個組。

如果名稱中包含定界識別符號,則數字不應包含在識別符號中,只應在 procedure_name 前後使用適當的定界符。

@parameter

過程中的引數。在 create procedure 語句中可以宣告乙個或多個引數。使用者必須在執行過程時提供每個所宣告引數的值(除非定義了該引數的預設值)。

儲存過程最多可以有 2.100 個引數。

使用 @ 符號作為第乙個字元來指定引數名稱。引數名稱必須符合識別符號的規則。每個過程的引數僅用於該過程本身;相同的引數名稱可以用在其它過程中。

預設情況下,引數只能代替常量,而不能用於代替表名、列名或其它資料庫物件的名稱。有關更多資訊,請參見 execute。

data_type

引數的資料型別。所有資料型別(包括 text、ntext 和 image)均可以用作儲存過程的引數。不過,cursor 資料型別只能用於 output 引數。

如果指定的資料型別為 cursor,也必須同時指定 varying 和 output 關鍵字。有關 sql server 提供的資料型別及其語法的更多資訊,請參見資料型別。

呼叫:exec 儲存過程名 引數

7樓:匿名使用者

1.create procedure print_std_info1

@name varchar(8)

asselect 學號,姓名,系別,出生日期 from student where 姓名=@name

execute print_std_info1 '高春接'

2.create procedure print_std_info2

@name varchar(8),

@num varchar(8) output,

@xb varchar(8) output,

@birthdate datetime output

asselect @num=學號,@name=姓名,@xb=系別,@birthdate=出生日期 from student where 姓名=@name

godeclare @num varchar(8) ,@name varchar(8),@xb varchar(8),@birthdate datetime

set @name='高春接'

execute print_std_info1 @name,@num output,@xb output,@birthdate output

print'姓名:'+@name

print '學號:'+@num

print'系別:'+@xb

print '出生日期:'+convert(varchar(8),@birthdate)

3.create proc p_add

@n int,@sum int output

as declare @i int

set @i=1

set @sum=0

while @i<=@n

begin

set @sum=@sum+@i

set @i=@i+1

endgodeclare @n int,@sum int

set @n=100

exec p_add @n,@sum output

print '累加和為:'+cast(@sum as varchar(5))

8樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

9樓:匿名使用者

create proc [info1]

@name char(8)

as select 學號,姓名,出生日期,系別 from 學生表 where name=@id.

執行:exec proc '王八'

10樓:喵小採

那肯定是有相關的步驟的,要是不確定的話,我建議是看自己的選擇,因為很多方面的選擇困難。

sql 儲存過程語句編寫 20

11樓:發生等將發生

按照你寫的儲存過程,@tblwhere是屬於儲存過程的引數,那麼這個引數就是需要在呼叫儲存過程的時候,傳值,在@tblwhere有值之後,可以直接放到sql中作為條件用,這種還算不上sql拼接,只是簡單的變數的運用,sql拼接如:

declare @sql varchar(max)declare @sql2 + varchar(max)declare @a int

set @sql = 'select * from sysobjects' + @sql2 + 'where id = ' + @a

exec(@sql)

寫了乙個儲存過程,怎麼用sql語句檢視寫的**

12樓:匿名使用者

在查詢分析器裡面 執行

sp_helptext 儲存過程名字

還可以 檢視 觸發器 和 檢視

用法sp_helptext 觸發器名稱

sp_helptext 檢視名稱

13樓:匿名使用者

選中儲存過程,右鍵-->修改

mysql怎麼用sql語句建立儲存過程

14樓:匿名使用者

mysql教程4 mysql8運算子、函式、儲存過程及新增資料型別 17.之建立帶有in和out引數的儲存過程 學習猿地

用sql寫乙個簡單的儲存過程語句?

15樓:匿名使用者

insert into 表名 (欄位1,欄位2,....)values('"欄位1的值"','"&欄位2的&"',...)

上述為asp中增加資料的sql方法

16樓:匿名使用者

create 儲存過程名

as你要執行的語句

end這是語法 ok

17樓:隨風請求

什麼意思?是增刪改查的儲存過程?

18樓:匿名使用者

常用語句對照(access資料庫):文字型:text

長整型:integer

雙精度型:float

貨幣型:money

日期型:date

備註型:memo

ole型:general

1.查詢資料

例:查詢zt_data表中的zt_id欄位,zt_name欄位

select [zt_id],[zt_name] from zt_data

2.查詢指定條件的資料

例:查詢zt_data表中zt_id欄位小於100的資料的zt_id欄位,zt_name欄位

select [zt_id],[zt_name] from zt_data where [zt_id] < 100

例:查詢zt_data表中前100條資料的zt_id欄位,zt_name欄位

select top 100 [zt_id],[zt_name] from zt_data

3.按照一定排序查詢

例:按照zt_id順序查詢zt_data表中的zt_id欄位,zt_name欄位

select [zt_id],[zt_name] from zt_data order by [zt_id] asc

例:按照zt_id倒序查詢zt_data表中的zt_id欄位,zt_name欄位

select [zt_id],[zt_name] from zt_data order by [zt_id] desc

4.新增資料

例:在zt_data表中增加一條記錄,其中zt_name字段值為名稱1,zt_enname字段值為名稱2

insert into zt_data([zt_name],[zt_enname])values('名稱1','名稱2')

5.刪除資料

例:刪除zt_data表中zt_id的值為1的資料

delete from zt_data where [zt_id]=1

6.修改資料

例:修改zt_data中zt_id為1的資料的zt_name字段值為 新名稱

update zt_data set [zt_name]='新名稱' where [zt_id]=1

SQL語句中儲存過程和呼叫,oracle SQL語句中怎麼樣呼叫儲存過程?

這些是c 的語句,訪問的是windows窗體中的控制項,而儲存過程是不能訪問窗體中的控制項的。你這個要求是無法實現的。oracle sql語句中怎麼樣呼叫儲存過程?如何在select語句中呼叫儲存過程的結果 sql server中儲存過程的返回值不是通過return語句返回的 return語句是在使...

如何SQL建立表,sql語句 如何建立乙個表啊

use test go create table dbo article goodid varchar 50 not null,goodname varchar 100 null,price numeric 18,10 not null,goodsum nchar 10 null,constrain...

SQL Server建立檢視時SQL語句怎麼寫

歐力士中國 1.2種寫法都可以 2.3個表的話,可以寫成from 學生資訊 a 學生資訊 b,輔導員資訊 c where a.所屬班級 b.班級編號 and c.輔導員編號 b.輔導員 jg 陳 2種寫法有區別 上面的相當於inner join 三個表可以寫在from後面,同樣的效果也是inner ...