-6

ストアドプロシージャに変換したいこのSQLステートメントがあります。どうやってやるの?

select a.name, a.lastname, from myTable where b.name= a.lastname

ありがとう

更新これは正しい人でしょうか

CREATE PROCEDURE myProcedure
AS
BEGIN
SELECT [a.name],
       [a.lastname]
FROM [myTable]
WHERE [b.name] = a.lastname
END

これは私が実際に取り組んでいるコードの1つです

SQLステートメント

SELECT RTRIM(l.Lab1) + '/' + RTRIM(l.LabR) AS Lab, meta.Title,ls.[ID],ls.[surveyID], ls.[specialistID],ls.[isCompleted] FROM [MyDIM].[dbo].[lsLabSurvey] ls JOIN [MYDIM].[dbo].[dimDocMetaInfo] meta ON meta.id = ls.[surveyID] and specialistID = @PID and isCompleted=1 JOIN MyDatabase.DBO.PID_Table l ON ls.ID = l.ID

そして、私の試行したストアドプロシージャ

CREATE PROCEDURE PROCD1
AS
BEGIN
SELECT RTRIM(l.Lab1) + '/' + RTRIM(l.LabR) 
AS Lab, 
   meta.Title,
   la.[ID],
   ls.[surveyID],
   ls.[specialistID],
   ls.[isCompleted]
FROM [MyDIM].[dbo].[lsLabSurvey] ls 
JOIN [MyDIM].[dbo].[dimDocMetaInfo] meta 
ON meta.id = ls.[surveyID] 
and specialistID = @PID 
and isCompleted=1 
JOIN MyDatabase.DBO.PID_Table l 
ON ls.ID = l.ID 

終わり

4

2 に答える 2

0

それほど難しいことではありません。あなたはそこまでの道の95%です。以下はSQLServer用です。

CREATE PROCEDURE SomeProcedureName  
AS  
select a.name, a.lastname, from myTable where b.name= a.lastname

そして私はこの本を強くお勧めします:http ://www.barnesandnoble.com/w/sams-teach-yourself-sql-in-10-minutes-ben-forta/1100070678

基本的なSQL構文について説明し、SQLのさまざまな「方言」の例を示します。各RDBMSには、同様の機能を実行するためのわずかに異なる構文があり、使用しているDBの方言を知っている必要があります。

于 2012-09-27T20:02:50.080 に答える
0

デビッドが言ったように、あなたはほとんどそこにいますが、ちょっとした変更が必要です。

  1. @Pidはパラメーターだと思いますが、そうであれば、ストアドプロシージャの定義から欠落しています。
  2. (およびspecialistId =@Pidおよびiscompleted=1)は、Where句(フィルター式)を形成します。したがって、手順は次のようになります

`

CREATE PROCEDURE PROCD1 (@PID INT )
AS 
    BEGIN
        SELECT  CONVERT(VARCHAR,RTRIM(l.Lab1)) + '/' + CONVERT(VARCHAR,RTRIM(l.LabR)) AS Lab ,
                meta.Title ,
                la.[ID] ,
                ls.[surveyID] ,
                ls.[specialistID] ,
                ls.[isCompleted]
        FROM    [MyDIM].[dbo].[lsLabSurvey] ls
                INNER JOIN [MyDIM].[dbo].[dimDocMetaInfo] meta ON meta.id = ls.[surveyID]
                INNER JOIN MyDatabase.DBO.PID_Table l ON ls.ID = l.ID
        WHERE   ls.specialistID = @PID
                AND ls.isCompleted = 1
    END 
`

お役に立てれば。

于 2012-09-27T22:46:18.520 に答える