|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
Коллеги, нужны примеры корректных сторед процедур по добавлению новых записей. Слишком много вопросов возникло при написании ее с нуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 12:45 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 12:51 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
wewewew, на всякий вар-т с функцией из учебника Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 13:14 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
мегамозг, Благодарю! Интересовала лучшая практика по получении id новой записи при вставки Решил использовать RETURNING * INTO STRICT target. Ваш пример тоже помог. Но я до конца не понял как обрабатывать необязательные параметры при поиске. Например в процедуру приходят три параметра: Фамилия, Имя, Отчество, обязательным может быть любой их них. Вобщем нужен аналог кода на MSSQL: SELECT @SelectString = 'SELECT ID ="BILLINGHOUSE"."HOUSEID","BILLINGHOUSE"."HOUSEID", "BILLINGHOUSE"."LOCATIONID", "BILLINGHOUSE"."EXTERNALID", "HOUSENAME", "BILLINGHOUSE"."LASTUPDATE", "BILLINGHOUSE"."CREATED", "BILLINGHOUSE"."ISACTIVE" , "LOCATION"."STATE", STATE_CODE_INFO.SHORTDESC AS STATE_DESC, "LOCATION"."COUNTRY", COUNTRY_CODE_INFO.SHORTDESC AS COUNTRY_DESC, "LOCATION"."ZIP", "LOCATION"."CITY", "LOCATION"."ADDR1", "LOCATION"."ADDR2", "LOCATION"."LASTUPDATE" AS LOCATIONLASTUPDATE FROM "BILLINGHOUSE" INNER JOIN "LOCATION" ON "LOCATION"."LOCATIONID" = "BILLINGHOUSE"."LOCATIONID" LEFT JOIN "SYSTEMCODE" COUNTRY_CODE_INFO ON COUNTRY_CODE_INFO."SYSCODEID" = "LOCATION"."COUNTRY" LEFT JOIN "SYSTEMCODE" STATE_CODE_INFO ON STATE_CODE_INFO."SYSCODEID" = "LOCATION"."STATE" ' + ' WHERE "HOUSENAME" LIKE' +DBO.GetStringForLike(RTRIM(@HouseName),0) + ' AND "CITY" LIKE('+DBO.GetStringForLike(RTRIM(@City),0) +') AND "ZIP" LIKE('+DBO.GetStringForLike(RTRIM(@Zip),0) +') ' IF @StateId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."STATE"=' + RTRIM(LTRIM(STR(@StateId,10,0))) + ' ' IF @CountryId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."COUNTRY"=' + RTRIM(LTRIM(STR(@CountryId,10,0))) + ' ' IF @ExternalId <> '' SELECT @SelectString = @SelectString + ' AND "BILLINGHOUSE"."EXTERNALID" LIKE ('+DBO.GetStringForLike(RTRIM(LTRIM(@ExternalId)),0)+') ' --SELECT @SelectString = @SelectString +' AND TOP 3' EXECUTE(@SelectString) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 20:41 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
wewewewSELECT @SelectString = 'SELECT ID ="BILLINGHOUSE"."HOUSEID","BILLINGHOUSE"."HOUSEID", "BILLINGHOUSE"."LOCATIONID", "BILLINGHOUSE"."EXTERNALID", "HOUSENAME", "BILLINGHOUSE"."LASTUPDATE", "BILLINGHOUSE"."CREATED", "BILLINGHOUSE"."ISACTIVE" , "LOCATION"."STATE", STATE_CODE_INFO.SHORTDESC AS STATE_DESC, "LOCATION"."COUNTRY", COUNTRY_CODE_INFO.SHORTDESC AS COUNTRY_DESC, "LOCATION"."ZIP", "LOCATION"."CITY", "LOCATION"."ADDR1", "LOCATION"."ADDR2", "LOCATION"."LASTUPDATE" AS LOCATIONLASTUPDATE FROM "BILLINGHOUSE" INNER JOIN "LOCATION" ON "LOCATION"."LOCATIONID" = "BILLINGHOUSE"."LOCATIONID" LEFT JOIN "SYSTEMCODE" COUNTRY_CODE_INFO ON COUNTRY_CODE_INFO."SYSCODEID" = "LOCATION"."COUNTRY" LEFT JOIN "SYSTEMCODE" STATE_CODE_INFO ON STATE_CODE_INFO."SYSCODEID" = "LOCATION"."STATE" ' + ' WHERE "HOUSENAME" LIKE' +DBO.GetStringForLike(RTRIM(@HouseName),0) + ' AND "CITY" LIKE('+DBO.GetStringForLike(RTRIM(@City),0) +') AND "ZIP" LIKE('+DBO.GetStringForLike(RTRIM(@Zip),0) +') ' IF @StateId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."STATE"=' + RTRIM(LTRIM(STR(@StateId,10,0))) + ' ' IF @CountryId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."COUNTRY"=' + RTRIM(LTRIM(STR(@CountryId,10,0))) + ' ' IF @ExternalId <> '' SELECT @SelectString = @SelectString + ' AND "BILLINGHOUSE"."EXTERNALID" LIKE ('+DBO.GetStringForLike(RTRIM(LTRIM(@ExternalId)),0)+') ' --SELECT @SelectString = @SelectString +' AND TOP 3' EXECUTE(@SelectString) wewewew, Ну и как в этой .... разбираться ? Нормально отформатировать, никак...??? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 01:25 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
ftewewewewSELECT @SelectString = 'SELECT ID ="BILLINGHOUSE"."HOUSEID","BILLINGHOUSE"."HOUSEID", "BILLINGHOUSE"."LOCATIONID", "BILLINGHOUSE"."EXTERNALID", "HOUSENAME", "BILLINGHOUSE"."LASTUPDATE", "BILLINGHOUSE"."CREATED", "BILLINGHOUSE"."ISACTIVE" , "LOCATION"."STATE", STATE_CODE_INFO.SHORTDESC AS STATE_DESC, "LOCATION"."COUNTRY", COUNTRY_CODE_INFO.SHORTDESC AS COUNTRY_DESC, "LOCATION"."ZIP", "LOCATION"."CITY", "LOCATION"."ADDR1", "LOCATION"."ADDR2", "LOCATION"."LASTUPDATE" AS LOCATIONLASTUPDATE FROM "BILLINGHOUSE" INNER JOIN "LOCATION" ON "LOCATION"."LOCATIONID" = "BILLINGHOUSE"."LOCATIONID" LEFT JOIN "SYSTEMCODE" COUNTRY_CODE_INFO ON COUNTRY_CODE_INFO."SYSCODEID" = "LOCATION"."COUNTRY" LEFT JOIN "SYSTEMCODE" STATE_CODE_INFO ON STATE_CODE_INFO."SYSCODEID" = "LOCATION"."STATE" ' + ' WHERE "HOUSENAME" LIKE' +DBO.GetStringForLike(RTRIM(@HouseName),0) + ' AND "CITY" LIKE('+DBO.GetStringForLike(RTRIM(@City),0) +') AND "ZIP" LIKE('+DBO.GetStringForLike(RTRIM(@Zip),0) +') ' IF @StateId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."STATE"=' + RTRIM(LTRIM(STR(@StateId,10,0))) + ' ' IF @CountryId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."COUNTRY"=' + RTRIM(LTRIM(STR(@CountryId,10,0))) + ' ' IF @ExternalId <> '' SELECT @SelectString = @SelectString + ' AND "BILLINGHOUSE"."EXTERNALID" LIKE ('+DBO.GetStringForLike(RTRIM(LTRIM(@ExternalId)),0)+') ' --SELECT @SelectString = @SelectString +' AND TOP 3' EXECUTE(@SelectString) wewewew, Ну и как в этой .... разбираться ? Нормально отформатировать, никак...??? И с чего вы решили, что если Вы покажете нам фрагмент кода, мы за Вас что-то сможем додумать!!! Телепаты - "Аууууу...", а потом будете обижаться, что никто Вам не ответил.... Прежде чем, что-то написать в форум, хотя-бы ознакомьтесь с правилами хорошего тона Тынц Нужен скрипт процедуры MSSQL полностью . ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 02:06 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
ftefteпропущено... wewewew, Ну и как в этой .... разбираться ? Нормально отформатировать, никак...??? И с чего вы решили, что если Вы покажете нам фрагмент кода, мы за Вас что-то сможем додумать!!! Телепаты - "Аууууу...", а потом будете обижаться, что никто Вам не ответил.... Прежде чем, что-то написать в форум, хотя-бы ознакомьтесь с правилами хорошего тона Тынц Нужен скрипт процедуры MSSQL полностью . Спасибо за желание помочь! Ниже полный пример сторед процедуры MSSql. Вопрос простой, как формировать строку запроса, чтобы в нем использовались только не пустые критерии поиска(как их обрабатывать?). В процедуре ниже это решается обычным форматированием строки. Как это лучше сделать в постгре! CREATE PROCEDURE DBO.BillingHouse_ListBySearch ( @UserId SystemCounter, @ActionId SystemCounter, @HouseName varchar(30) = '', @ExternalId varchar(12) = '', @CountryId SystemCounter = 0, @StateId SystemCounter = 0, @City varchar(30) = '', @Zip varchar(9) = '', @ResultRowCount integer = -1 ) As DECLARE @SelectString varchar(4000) SET ROWCOUNT 50 SELECT @SelectString = 'SELECT ID ="BILLINGHOUSE"."HOUSEID","BILLINGHOUSE"."HOUSEID", "BILLINGHOUSE"."LOCATIONID", "BILLINGHOUSE"."EXTERNALID", "HOUSENAME", "BILLINGHOUSE"."LASTUPDATE", "BILLINGHOUSE"."CREATED", "BILLINGHOUSE"."ISACTIVE" , "LOCATION"."STATE", STATE_CODE_INFO.SHORTDESC AS STATE_DESC, "LOCATION"."COUNTRY", COUNTRY_CODE_INFO.SHORTDESC AS COUNTRY_DESC, "LOCATION"."ZIP", "LOCATION"."CITY", "LOCATION"."ADDR1", "LOCATION"."ADDR2", "LOCATION"."LASTUPDATE" AS LOCATIONLASTUPDATE FROM "BILLINGHOUSE" INNER JOIN "LOCATION" ON "LOCATION"."LOCATIONID" = "BILLINGHOUSE"."LOCATIONID" LEFT JOIN "SYSTEMCODE" COUNTRY_CODE_INFO ON COUNTRY_CODE_INFO."SYSCODEID" = "LOCATION"."COUNTRY" LEFT JOIN "SYSTEMCODE" STATE_CODE_INFO ON STATE_CODE_INFO."SYSCODEID" = "LOCATION"."STATE" ' + ' WHERE "HOUSENAME" LIKE' +DBO.GetStringForLike(RTRIM(@HouseName),0) + ' AND "CITY" LIKE('+DBO.GetStringForLike(RTRIM(@City),0) +') AND "ZIP" LIKE('+DBO.GetStringForLike(RTRIM(@Zip),0) +') ' IF @StateId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."STATE"=' + RTRIM(LTRIM(STR(@StateId,10,0))) + ' ' IF @CountryId <> 0 SELECT @SelectString = @SelectString + ' AND "LOCATION"."COUNTRY"=' + RTRIM(LTRIM(STR(@CountryId,10,0))) + ' ' IF @ExternalId <> '' SELECT @SelectString = @SelectString + ' AND "BILLINGHOUSE"."EXTERNALID" LIKE ('+DBO.GetStringForLike(RTRIM(LTRIM(@ExternalId)),0)+') ' --SELECT @SelectString = @SelectString +' AND TOP 3' EXECUTE(@SelectString) SET ROWCOUNT 0 RETURN @@ERROR GO ... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 15:09 |
|
Пример сторед процедуры по добавлению новых записей в таблицу
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.11.2017, 21:15 |
|
|
start [/forum/topic.php?fid=53&msg=39555368&tid=1996096]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 139ms |
0 / 0 |